From 238721031a1cd65530049a02497f2d61d568ffee Mon Sep 17 00:00:00 2001 From: doorgan Date: Wed, 23 Apr 2025 11:14:46 -0300 Subject: [PATCH 1/6] Rename project to Expert App name changes: common -> forge remote_control -> engine server -> expert lexical_credo -> expert_credo Modules in `proto` and `protocol` were prefixed with Expert The namespacing prefix was changed from `LX` to `XP` The lsp meta folder was changed from `.lexical` to `.expert` The lsp logs file was changed from `lexical.log` to `expert.log` The lsp start script was chaged from `start_lexical.sh` to `start_expert.sh` The changelog was kept as-is as it reflects the project history(although it will likely be removed in favor of a new expert specific changelog file) --- .credo.exs | 2 +- .github/workflows/elixir.yml | 8 +- .github/workflows/release.yml | 8 +- .gitignore | 6 +- .iex.exs | 2 +- .iex.namespaced.exs | 4 +- Makefile | 2 +- README.md | 6 +- apps/common/lib/lexical.ex | 21 ----- .../lib/lexical/ast/detection/import.ex | 13 ---- .../lib/lexical/ast/detection/require.ex | 13 ---- .../ast/detection/struct_field_value.ex | 11 --- apps/common/lib/lexical/ast/detection/use.ex | 13 ---- .../test/lexical/ast/detection/alias_test.exs | 7 -- .../lexical/ast/detection/bitstring_test.exs | 6 -- .../lexical/ast/detection/comment_test.exs | 7 -- .../lexical/ast/detection/require_test.exs | 7 -- .../test/lexical/ast/detection/spec_test.exs | 7 -- .../test/lexical/ast/detection/use_test.exs | 7 -- apps/{remote_control => engine}/.credo.exs | 0 .../{remote_control => engine}/.formatter.exs | 2 +- apps/{common => engine}/.gitignore | 2 +- apps/{remote_control => engine}/README.md | 2 +- .../benchmarks/ast_analyze.exs | 4 +- .../benchmarks/data/enum.ex | 0 .../benchmarks/data/source.index.v1.ets | 0 .../benchmarks/enum_index.exs | 2 +- .../benchmarks/ets_bench.exs | 14 ++-- .../benchmarks/versions_bench.exs | 2 +- .../config/config.exs | 0 .../{remote_control => engine}/config/dev.exs | 0 .../config/prod.exs | 0 .../config/test.exs | 2 +- .../lib/engine/engine.ex} | 32 ++++---- .../lib/engine/engine}/analyzer.ex | 22 +++--- .../lib/engine/engine}/analyzer/aliases.ex | 10 +-- .../lib/engine/engine}/analyzer/imports.ex | 18 ++--- .../lib/engine/engine}/analyzer/requires.ex | 10 +-- .../lib/engine/engine}/analyzer/uses.ex | 8 +- .../lib/engine/engine}/api.ex | 60 +++++++-------- .../lib/engine/engine}/api/messages.ex | 32 ++++---- .../lib/engine/engine}/api/proxy.ex | 34 ++++---- .../engine}/api/proxy/buffering_state.ex | 14 ++-- .../engine}/api/proxy/draining_state.ex | 8 +- .../engine}/api/proxy/proxying_state.ex | 4 +- .../lib/engine/engine}/api/proxy/records.ex | 4 +- apps/engine/lib/engine/engine/application.ex | 37 +++++++++ .../lib/engine/engine}/bootstrap.ex | 12 +-- .../lib/engine/engine}/build.ex | 18 ++--- .../lib/engine/engine}/build/capture_io.ex | 4 +- .../engine/engine}/build/capture_server.ex | 2 +- .../lib/engine/engine}/build/document.ex | 10 +-- .../engine/engine}/build/document/compiler.ex | 6 +- .../build/document/compilers/config.ex | 10 +-- .../engine}/build/document/compilers/eex.ex | 12 +-- .../build/document/compilers/elixir.ex | 8 +- .../engine}/build/document/compilers/heex.ex | 27 ++++--- .../engine}/build/document/compilers/no_op.ex | 4 +- .../build/document/compilers/quoted.ex | 16 ++-- .../lib/engine/engine}/build/error.ex | 10 +-- .../engine/engine}/build/error/location.ex | 10 +-- .../lib/engine/engine}/build/error/parse.ex | 10 +-- .../lib/engine/engine}/build/isolation.ex | 4 +- .../lib/engine/engine}/build/project.ex | 16 ++-- .../lib/engine/engine}/build/state.ex | 36 ++++----- .../lib/engine/engine}/code_action.ex | 16 ++-- .../engine/engine}/code_action/diagnostic.ex | 4 +- .../lib/engine/engine}/code_action/handler.ex | 10 +-- .../engine}/code_action/handlers/add_alias.ex | 36 ++++----- .../code_action/handlers/organize_aliases.ex | 16 ++-- .../code_action/handlers/refactorex.ex | 16 ++-- .../handlers/remove_unused_alias.ex | 22 +++--- .../handlers/replace_remote_function.ex | 22 +++--- .../handlers/replace_with_underscore.ex | 14 ++-- .../engine}/code_intelligence/definition.ex | 22 +++--- .../engine/engine}/code_intelligence/docs.ex | 6 +- .../engine}/code_intelligence/docs/entry.ex | 2 +- .../engine}/code_intelligence/entity.ex | 34 ++++---- .../engine}/code_intelligence/references.ex | 22 +++--- .../engine}/code_intelligence/structs.ex | 12 +-- .../engine}/code_intelligence/symbols.ex | 16 ++-- .../code_intelligence/symbols/document.ex | 8 +- .../code_intelligence/symbols/workspace.ex | 14 ++-- .../engine}/code_intelligence/variable.ex | 12 +-- .../lib/engine/engine}/code_mod/aliases.ex | 22 +++--- .../lib/engine/engine}/code_mod/diff.ex | 12 +-- .../lib/engine/engine}/code_mod/format.ex | 20 ++--- .../lib/engine/engine}/commands/reindex.ex | 28 +++---- .../lib/engine/engine}/compilation/tracer.ex | 16 ++-- .../lib/engine/engine}/completion.ex | 22 +++--- .../engine/engine}/completion/candidate.ex | 4 +- .../completion/candidate/argument_names.ex | 2 +- .../lib/engine/engine}/dispatch.ex | 20 ++--- .../lib/engine/engine}/dispatch/handler.ex | 8 +- .../engine}/dispatch/handlers/indexing.ex | 12 +-- .../lib/engine/engine}/dispatch/pub_sub.ex | 6 +- .../lib/engine/engine}/mix.ex | 14 ++-- .../engine}/mix.tasks.deps.safe_compile.ex | 0 .../lib/engine/engine}/module/loader.ex | 2 +- .../lib/engine/engine}/module_mappings.ex | 8 +- .../lib/engine/engine}/modules.ex | 8 +- .../lib/engine/engine}/plugin.ex | 16 ++-- .../lib/engine/engine}/plugin/discovery.ex | 12 +-- .../lib/engine/engine}/plugin/runner.ex | 18 ++--- .../engine}/plugin/runner/coordinator.ex | 6 +- .../plugin/runner/coordinator/state.ex | 4 +- .../lib/engine/engine}/plugin/supervisor.ex | 2 +- .../lib/engine/engine}/port.ex | 12 +-- .../lib/engine/engine}/progress.ex | 20 ++--- .../lib/engine/engine}/project_node.ex | 14 ++-- .../engine/engine}/project_node_supervisor.ex | 6 +- .../lib/engine/engine}/search/fuzzy.ex | 22 +++--- .../lib/engine/engine}/search/fuzzy/scorer.ex | 2 +- .../lib/engine/engine}/search/indexer.ex | 22 +++--- .../engine/engine}/search/indexer/entry.ex | 12 +-- .../search/indexer/extractors/ecto_schema.ex | 14 ++-- .../search/indexer/extractors/ex_unit.ex | 20 ++--- .../indexer/extractors/function_definition.ex | 14 ++-- .../indexer/extractors/function_reference.ex | 28 +++---- .../search/indexer/extractors/module.ex | 26 +++---- .../indexer/extractors/module_attribute.ex | 16 ++-- .../indexer/extractors/struct_definition.ex | 10 +-- .../indexer/extractors/struct_reference.ex | 12 +-- .../search/indexer/extractors/variable.ex | 10 +-- .../engine/engine}/search/indexer/metadata.ex | 2 +- .../engine/engine}/search/indexer/module.ex | 4 +- .../engine/engine}/search/indexer/quoted.ex | 8 +- .../engine/engine}/search/indexer/source.ex | 8 +- .../engine}/search/indexer/source/block.ex | 4 +- .../engine}/search/indexer/source/reducer.ex | 14 ++-- .../lib/engine/engine}/search/store.ex | 22 +++--- .../engine/engine}/search/store/backend.ex | 6 +- .../engine}/search/store/backends/ets.ex | 18 ++--- .../search/store/backends/ets/schema.ex | 12 +-- .../store/backends/ets/schemas/legacy_v0.ex | 4 +- .../search/store/backends/ets/schemas/v1.ex | 6 +- .../search/store/backends/ets/schemas/v2.ex | 6 +- .../search/store/backends/ets/schemas/v3.ex | 6 +- .../search/store/backends/ets/state.ex | 12 +-- .../engine}/search/store/backends/ets/wal.ex | 8 +- .../lib/engine/engine}/search/store/state.ex | 12 +-- .../lib/engine/engine}/search/subject.ex | 4 +- .../lib/mix/tasks/namespace.ex | 19 ++--- .../lib/mix/tasks/namespace/abstract.ex | 0 .../lib/mix/tasks/namespace/code.ex | 0 .../lib/mix/tasks/namespace/module.ex | 16 ++-- .../lib/mix/tasks/namespace/path.ex | 0 .../namespace/transform/app_directories.ex | 0 .../lib/mix/tasks/namespace/transform/apps.ex | 2 +- .../mix/tasks/namespace/transform/beams.ex | 0 .../mix/tasks/namespace/transform/boots.ex | 0 .../mix/tasks/namespace/transform/configs.ex | 0 .../mix/tasks/namespace/transform/erlang.ex | 0 .../mix/tasks/namespace/transform/scripts.ex | 2 +- apps/{remote_control => engine}/mix.exs | 8 +- apps/{remote_control => engine}/mix.lock | 0 .../priv/port_wrapper.sh | 0 .../test/engine}/analyzer/aliases_test.exs | 16 ++-- .../test/engine}/analyzer/imports_test.exs | 10 +-- .../test/engine}/analyzer/requires_test.exs | 10 +-- .../test/engine}/analyzer/uses_test.exs | 10 +-- .../test/engine}/analyzer_test.exs | 12 +-- .../api/proxy/buffering_state_test.exs | 22 +++--- .../test/engine}/api/proxy_test.exs | 28 +++---- .../build/document/compilers/config_test.exs | 10 +-- .../build/document/compilers/eex_test.exs | 24 +++--- .../build/document/compilers/elixir_test.exs | 6 +- .../build/document/compilers/heex_test.exs | 22 +++--- .../build/document/compilers/quoted_test.exs | 14 ++-- .../test/engine}/build/error/parse_test.exs | 18 ++--- .../test/engine}/build/error_test.exs | 16 ++-- .../test/engine}/build/state_test.exs | 26 +++---- .../test/engine}/build_test.exs | 52 ++++++------- .../code_action/handlers/add_alias_test.exs | 77 +++++++++---------- .../handlers/organize_aliases_test.exs | 20 ++--- .../code_action/handlers/refactorex_test.exs | 14 ++-- .../handlers/remove_unused_alias_test.exs | 20 ++--- .../handlers/replace_remote_function_test.exs | 14 ++-- .../handlers/replace_with_underscore_test.exs | 10 +-- .../code_intelligence/definition_test.exs | 36 ++++----- .../engine}/code_intelligence/entity_test.exs | 26 +++---- .../code_intelligence/references_test.exs | 30 ++++---- .../code_intelligence/symbols_test.exs | 16 ++-- .../code_intelligence/variable_test.exs | 12 +-- .../test/engine}/code_mod/aliases_test.exs | 14 ++-- .../test/engine}/code_mod/diff_test.exs | 16 ++-- .../test/engine}/code_mod/format_test.exs | 28 +++---- .../test/engine}/commands/reindex_test.exs | 16 ++-- .../candidate/argument_names_test.exs | 4 +- .../test/engine}/completion_test.exs | 20 ++--- .../test/engine}/dispatch/handler_test.exs | 6 +- .../dispatch/handlers/indexer_test.exs | 26 +++---- .../dispatch/handlers/indexing_test.exs | 2 + .../engine}/dispatch/pub_sub_state_test.exs | 4 +- .../test/engine}/dispatch_test.exs | 8 +- .../test/engine}/module_mappings_test.exs | 10 +-- .../test/engine}/modules_test.exs | 8 +- .../plugin/runner/coordinator/state_test.exs | 10 +-- .../plugin/runner/coordinator_test.exs | 24 +++--- .../test/engine}/progress_test.exs | 10 +-- .../test/engine}/project_node_test.exs | 15 ++-- .../test/engine}/search/fuzzy/scorer_test.exs | 10 +-- .../test/engine}/search/fuzzy_test.exs | 6 +- .../indexer/extractors/ecto_schema_test.exs | 4 +- .../indexer/extractors/ex_unit_test.exs | 8 +- .../extractors/function_definition_test.exs | 9 +-- .../extractors/function_reference_test.exs | 8 +- .../extractors/module_attribute_test.exs | 6 +- .../search/indexer/extractors/module_test.exs | 4 +- .../indexer/extractors/protocol_test.exs | 4 +- .../extractors/struct_definition_test.exs | 6 +- .../extractors/struct_reference_test.exs | 6 +- .../indexer/extractors/variable_test.exs | 6 +- .../engine}/search/indexer/metadata_test.exs | 16 ++-- .../engine}/search/indexer/structure_test.exs | 4 +- .../test/engine}/search/indexer_test.exs | 12 +-- .../search/store/backends/ets/schema_test.exs | 10 +-- .../search/store/backends/ets/wal_test.exs | 6 +- .../search/store/backends/ets_test.exs | 18 ++--- .../test/engine}/search/store_test.exs | 26 +++---- .../.formatter.exs | 0 .../compilation_callback_errors/.gitignore | 0 .../lib/compile_callback_error.ex | 0 .../compilation_callback_errors/mix.exs | 0 .../compilation_errors}/.formatter.exs | 0 .../fixtures/compilation_errors/.gitignore | 0 .../fixtures/compilation_errors/README.md | 0 .../lib/compilation_errors.ex | 0 .../test/fixtures/compilation_errors/mix.exs | 0 .../compilation_warnings}/.formatter.exs | 0 .../fixtures/compilation_warnings/.gitignore | 0 .../fixtures/compilation_warnings/README.md | 0 .../lib/unused_variable.ex | 0 .../fixtures/compilation_warnings/mix.exs | 0 .../dependency/lib/dependency/structs.ex | 0 .../fixtures/navigations/lib/macro_struct.ex | 0 .../fixtures/navigations/lib/multi_arity.ex | 0 .../fixtures/navigations/lib/my_definition.ex | 0 .../test/fixtures/navigations/lib/struct.ex | 0 .../test/fixtures/navigations/lib/uses.ex | 0 .../test/fixtures/navigations/mix.exs | 0 .../fixtures/parse_errors/lib/parse_errors.ex | 0 .../test/fixtures/parse_errors/mix.exs | 0 .../test/fixtures/project/.formatter.exs | 0 .../test/fixtures/project/.gitignore | 0 .../test/fixtures/project/README.md | 0 .../test/fixtures/project/lib/behaviours.ex | 0 .../test/fixtures/project/lib/default_args.ex | 0 .../test/fixtures/project/lib/functions.ex | 0 .../test/fixtures/project/lib/macros.ex | 0 .../fixtures/project/lib/other_modules.ex | 0 .../test/fixtures/project/lib/project.ex | 0 .../test/fixtures/project/lib/structs.ex | 0 .../test/fixtures/project/mix.exs | 0 .../fixtures/project_metadata}/.formatter.exs | 0 .../test/fixtures/project_metadata/.gitignore | 0 .../test/fixtures/project_metadata/README.md | 0 .../project_metadata/config/config.exs | 0 .../project_metadata/lib/project_metadata.ex | 0 .../test/fixtures/project_metadata/mix.exs | 0 .../test/fixtures/umbrella/.formatter.exs | 0 .../test/fixtures/umbrella/.gitignore | 0 .../test/fixtures/umbrella/README.md | 0 .../umbrella/apps/first}/.formatter.exs | 0 .../fixtures/umbrella/apps/first/.gitignore | 0 .../fixtures/umbrella/apps/first/README.md | 0 .../umbrella/apps/first/lib/umbrella/first.ex | 0 .../test/fixtures/umbrella/apps/first/mix.exs | 0 .../umbrella/apps/second}/.formatter.exs | 0 .../fixtures/umbrella/apps/second/.gitignore | 0 .../fixtures/umbrella/apps/second/README.md | 0 .../apps/second/lib/umbrella/second.ex | 0 .../fixtures/umbrella/apps/second/mix.exs | 0 .../test/fixtures/umbrella/config/config.exs | 0 .../test/fixtures/umbrella/mix.exs | 0 .../test}/remote_control_test.exs | 24 +++--- .../test/support}/test/code_mod_case.ex | 10 +-- .../test/support}/test/entry/entry_builder.ex | 12 +-- .../test/support}/test/extractor_case.ex | 12 +-- .../test/support}/test/fixtures.ex | 12 +-- .../test/support}/test/mfa_support.ex | 2 +- .../test/test_helper.exs | 2 +- apps/{lexical_credo => expert}/.credo.exs | 0 apps/{server => expert}/.formatter.exs | 4 +- apps/{server => expert}/.gitignore | 0 apps/{server => expert}/.iex.exs | 6 +- apps/expert/README.md | 3 + .../bin/activate_version_manager.sh | 0 apps/{server => expert}/bin/boot.exs | 6 +- apps/{server => expert}/bin/debug_shell.sh | 2 +- .../bin/start_expert.sh} | 2 +- apps/{server => expert}/config/config.exs | 0 apps/{server => expert}/config/dev.exs | 0 apps/{server => expert}/config/prod.exs | 0 apps/{server => expert}/config/runtime.exs | 4 +- apps/{server => expert}/config/test.exs | 0 .../expert.plugin.diagnostic.result.ex} | 24 +++--- .../server.ex => expert/lib/expert.ex} | 14 ++-- .../lib/expert}/application.ex | 20 ++--- .../server => expert/lib/expert}/boot.ex | 14 ++-- .../expert}/code_intelligence/completion.ex | 44 +++++------ .../code_intelligence/completion/builder.ex | 22 +++--- .../completion/sort_scope.ex | 6 +- .../completion/translatable.ex | 10 +-- .../translations/bitstring_option.ex | 12 +-- .../completion/translations/callable.ex | 10 +-- .../completion/translations/callback.ex | 14 ++-- .../completion/translations/function.ex | 10 +-- .../completion/translations/macro.ex | 22 +++--- .../completion/translations/map_field.ex | 8 +- .../translations/module_attribute.ex | 16 ++-- .../translations/module_or_behaviour.ex | 16 ++-- .../completion/translations/struct.ex | 6 +- .../completion/translations/struct_field.ex | 12 +-- .../completion/translations/typespec.ex | 12 +++ .../completion/translations/variable.ex | 10 +-- .../lib/expert}/configuration.ex | 24 +++--- .../lib/expert}/configuration/support.ex | 6 +- .../server => expert/lib/expert}/dialyzer.ex | 2 +- .../lib/expert}/iex/helpers.ex | 68 ++++++++-------- .../lib/expert}/project/diagnostics.ex | 18 ++--- .../lib/expert}/project/diagnostics/state.ex | 8 +- .../lib/expert}/project/intelligence.ex | 10 +-- .../lib/expert}/project/node.ex | 16 ++-- .../lib/expert}/project/progress.ex | 8 +- .../expert}/project/progress/percentage.ex | 8 +- .../lib/expert}/project/progress/state.ex | 20 ++--- .../lib/expert}/project/progress/support.ex | 8 +- .../lib/expert}/project/progress/value.ex | 6 +- .../lib/expert}/project/search_listener.ex | 18 ++--- .../lib/expert}/project/supervisor.ex | 18 ++--- .../expert}/provider/handlers/code_action.ex | 18 ++--- .../expert}/provider/handlers/code_lens.ex | 24 +++--- .../lib/expert}/provider/handlers/commands.ex | 20 ++--- .../expert}/provider/handlers/completion.ex | 18 ++--- .../provider/handlers/document_symbols.ex | 18 ++--- .../provider/handlers/find_references.ex | 14 ++-- .../expert}/provider/handlers/formatting.ex | 14 ++-- .../provider/handlers/go_to_definition.ex | 12 +-- .../lib/expert}/provider/handlers/hover.ex | 34 ++++---- .../provider/handlers/workspace_symbol.ex | 20 ++--- .../lib/expert}/provider/markdown.ex | 4 +- .../server => expert/lib/expert}/state.ex | 70 ++++++++--------- .../lib/expert}/task_queue.ex | 12 +-- .../server => expert/lib/expert}/transport.ex | 6 +- .../lib/expert}/transport/std_io.ex | 8 +- .../server => expert/lib/expert}/window.ex | 20 ++--- .../lib/mix/tasks/package.ex | 32 ++++---- apps/{server => expert}/mix.exs | 10 +-- apps/{server => expert}/mix.lock | 0 .../expert.plugin.diagnostic.result_test.exs} | 18 ++--- .../{server => expert}/test/document_test.exs | 22 +++--- .../test/expert}/boot_test.exs | 14 ++-- .../completion/builder_test.exs | 18 ++--- .../translations/bitstring_option_test.exs | 4 +- .../completion/translations/callback_test.exs | 4 +- .../completion/translations/function_test.exs | 4 +- .../translations/interpolation_test.exs | 4 +- .../completion/translations/macro_test.exs | 6 +- .../translations/map_field_test.exs | 4 +- .../translations/module_attribute_test.exs | 4 +- .../translations/module_or_behaviour_test.exs | 4 +- .../translations/struct_field_test.exs | 4 +- .../completion/translations/struct_test.exs | 4 +- .../completion/translations/variable_test.exs | 4 +- .../code_intelligence/completion_test.exs | 32 ++++---- .../project/diagnostics/state_test.exs | 18 ++--- .../test/expert}/project/diagnostics_test.exs | 34 ++++---- .../expert}/project/intelligence_test.exs | 14 ++-- .../test/expert}/project/node_test.exs | 30 ++++---- .../expert}/project/progress/state_test.exs | 10 +-- .../expert}/project/progress/support_test.exs | 8 +- .../test/expert}/project/progress_test.exs | 42 +++++----- .../provider/handlers/code_lens_test.exs | 40 +++++----- .../handlers/find_references_test.exs | 35 ++++----- .../handlers/go_to_definition_test.exs | 36 ++++----- .../expert}/provider/handlers/hover_test.exs | 50 ++++++------ .../test/expert}/task_queue_test.exs | 20 ++--- .../test/expert}/transport/std_io_test.exs | 6 +- .../test/support}/test/completion_case.ex | 36 ++++----- .../test/support}/test/dispatch_fake.ex | 10 +-- apps/expert/test/support/transport/no_op.ex | 5 ++ apps/{server => expert}/test/test_helper.exs | 0 apps/{server => expert_credo}/.credo.exs | 0 .../second => expert_credo}/.formatter.exs | 0 .../.gitignore | 2 +- apps/{lexical_credo => expert_credo}/LICENSE | 0 .../{lexical_credo => expert_credo}/README.md | 12 +-- .../lib/expert_credo.ex} | 10 +-- apps/{lexical_credo => expert_credo}/mix.exs | 10 +-- apps/{lexical_credo => expert_credo}/mix.lock | 0 .../test/expert_credo_test.exs} | 8 +- .../test/test_helper.exs | 0 apps/{common => forge}/.credo.exs | 0 apps/{common => forge}/.formatter.exs | 2 +- apps/{remote_control => forge}/.gitignore | 2 +- apps/{common => forge}/README.md | 0 .../benchmarks/snowflake_bench.exs | 0 apps/{common => forge}/config/config.exs | 0 apps/{common => forge}/lib/elixir/features.ex | 2 +- apps/forge/lib/forge.ex | 21 +++++ .../lib/lexical => forge/lib/forge}/ast.ex | 24 +++--- .../lib/forge}/ast/analysis.ex | 24 +++--- .../lib/forge}/ast/analysis/alias.ex | 10 +-- .../lib/forge}/ast/analysis/import.ex | 8 +- .../lib/forge}/ast/analysis/require.ex | 6 +- .../lib/forge}/ast/analysis/scope.ex | 8 +- .../lib/forge}/ast/analysis/state.ex | 20 ++--- .../lib/forge}/ast/analysis/use.ex | 6 +- .../lib/forge}/ast/detection.ex | 10 +-- .../lib/forge}/ast/detection/alias.ex | 10 +-- .../lib/forge}/ast/detection/bitstring.ex | 12 +-- .../lib/forge}/ast/detection/comment.ex | 6 +- .../lib/forge}/ast/detection/directive.ex | 8 +- .../forge}/ast/detection/function_capture.ex | 10 +-- apps/forge/lib/forge/ast/detection/import.ex | 13 ++++ .../forge}/ast/detection/module_attribute.ex | 8 +- .../lib/forge}/ast/detection/pipe.ex | 10 +-- apps/forge/lib/forge/ast/detection/require.ex | 13 ++++ .../lib/forge}/ast/detection/spec.ex | 8 +- .../lib/forge}/ast/detection/string.ex | 14 ++-- .../forge}/ast/detection/struct_field_key.ex | 10 +-- .../forge/ast/detection/struct_field_value.ex | 11 +++ .../lib/forge}/ast/detection/struct_fields.ex | 10 +-- .../forge}/ast/detection/struct_reference.ex | 12 +-- .../lib/forge}/ast/detection/type.ex | 8 +- apps/forge/lib/forge/ast/detection/use.ex | 13 ++++ .../lexical => forge/lib/forge}/ast/env.ex | 18 ++--- .../lexical => forge/lib/forge}/ast/module.ex | 4 +- .../lexical => forge/lib/forge}/ast/range.ex | 8 +- .../lexical => forge/lib/forge}/ast/tokens.ex | 6 +- .../lexical => forge/lib/forge}/code_unit.ex | 2 +- .../lib/forge}/convertible.ex | 32 ++++---- .../lib/lexical => forge/lib/forge}/debug.ex | 4 +- .../lexical => forge/lib/forge}/document.ex | 32 ++++---- .../lib/forge}/document/changes.ex | 8 +- .../lib/forge}/document/container.ex | 10 +-- .../lib/forge}/document/edit.ex | 8 +- .../lib/forge}/document/line.ex | 2 +- .../lib/forge}/document/line_parser.ex | 6 +- .../lib/forge}/document/lines.ex | 18 ++--- .../lib/forge}/document/location.ex | 14 ++-- .../lib/forge}/document/path.ex | 8 +- .../lib/forge}/document/position.ex | 18 ++--- .../lib/forge}/document/range.ex | 10 +-- .../lib/forge}/document/store.ex | 52 ++++++------- .../lexical => forge/lib/forge}/formats.ex | 2 +- .../lexical => forge/lib/forge}/identifier.ex | 2 +- .../lib/lexical => forge/lib/forge}/math.ex | 2 +- .../lib/forge}/plugin/v1/diagnostic.ex | 38 ++++----- .../lib/forge}/plugin/v1/diagnostic/result.ex | 12 +-- .../lib/forge}/process_cache.ex | 2 +- .../lexical => forge/lib/forge}/project.ex | 24 +++--- .../lib/forge}/struct_access.ex | 2 +- .../lib/lexical => forge/lib/forge}/text.ex | 2 +- .../lib/forge}/vm/versions.ex | 4 +- apps/{common => forge}/lib/future/code.ex | 8 +- .../lib/future/code/fragment.ex | 0 .../lib/future/code/indentifier.ex | 0 .../lib/future/code/typespec.ex | 0 apps/{common => forge}/lib/future/macro.ex | 0 .../lib/future/mix/tasks/format.ex | 0 apps/{common => forge}/lib/mix/tasks/hooks.ex | 0 apps/{common => forge}/mix.exs | 4 +- apps/{common => forge}/mix.lock | 0 apps/{common => forge}/src/future_elixir.erl | 18 ++--- apps/{common => forge}/src/future_elixir.hrl | 0 .../src/future_elixir_errors.erl | 4 +- .../src/future_elixir_interpolation.erl | 0 .../src/future_elixir_parser.yrl | 0 .../src/future_elixir_tokenizer.erl | 0 .../src/future_elixir_tokenizer.hrl | 0 .../test/forge/ast/detection/alias_test.exs | 7 ++ .../forge/ast/detection/bitstring_test.exs | 6 ++ .../test/forge/ast/detection/comment_test.exs | 7 ++ .../ast/detection/function_capture_test.exs | 6 +- .../test/forge}/ast/detection/import_test.exs | 6 +- .../ast/detection/module_attribute_test.exs | 6 +- .../test/forge}/ast/detection/pipe_test.exs | 6 +- .../test/forge/ast/detection/require_test.exs | 7 ++ .../test/forge/ast/detection/spec_test.exs | 7 ++ .../test/forge}/ast/detection/string_test.exs | 6 +- .../ast/detection/struct_field_key_test.exs | 6 +- .../ast/detection/struct_field_value_test.exs | 6 +- .../ast/detection/struct_fields_test.exs | 6 +- .../ast/detection/struct_reference_test.exs | 6 +- .../test/forge}/ast/detection/type_test.exs | 6 +- .../test/forge/ast/detection/use_test.exs | 7 ++ .../test/forge}/ast/env_test.exs | 10 +-- .../test/forge}/ast/module_test.exs | 14 ++-- .../test/forge}/ast/tokens_test.exs | 8 +- .../lexical => forge/test/forge}/ast_test.exs | 18 ++--- .../test/forge}/code_unit_test.exs | 4 +- .../test/forge}/document/lines_test.exs | 6 +- .../test/forge}/document/path_test.exs | 4 +- .../test/forge}/document/position_test.exs | 8 +- .../test/forge}/document/range_test.exs | 10 +-- .../test/forge}/document/store_test.exs | 10 +-- .../test/forge}/formats_test.exs | 8 +- .../test/forge}/line_parser_test.exs | 6 +- .../test/forge}/math_test.exs | 4 +- .../test/forge}/process_cache_test.exs | 4 +- .../test/forge}/project_test.exs | 6 +- .../test/forge}/text_test.exs | 4 +- .../test/forge}/vm/versions_test.exs | 4 +- .../test/support}/test/code_sigil.ex | 2 +- .../test/support}/test/cursor_support.ex | 12 +-- .../test/support}/test/detection_case.ex | 26 +++---- .../support}/test/detection_case/suite.ex | 4 +- .../test/support}/test/diagnostic_support.ex | 2 +- .../test/support}/test/document_support.ex | 6 +- .../test/support}/test/eventual_assertions.ex | 2 +- .../test/support}/test/position_support.ex | 12 +-- .../test/support}/test/quiet.ex | 2 +- .../test/support}/test/range_support.ex | 18 ++--- .../test/support}/test/variations.ex | 2 +- apps/{common => forge}/test/test_helper.exs | 0 apps/proto/lib/{lexical => expert}/proto.ex | 10 +-- .../lib/{lexical => expert}/proto/alias.ex | 8 +- .../proto/compile_metadata.ex | 2 +- .../lib/{lexical => expert}/proto/convert.ex | 6 +- .../lib/{lexical => expert}/proto/decoders.ex | 6 +- .../lib/{lexical => expert}/proto/enum.ex | 4 +- .../lib/{lexical => expert}/proto/field.ex | 4 +- .../{lexical => expert}/proto/lsp_types.ex | 4 +- .../proto/macros/access.ex | 2 +- .../proto/macros/inspect.ex | 2 +- .../{lexical => expert}/proto/macros/json.ex | 4 +- .../{lexical => expert}/proto/macros/match.ex | 2 +- .../proto/macros/message.ex | 6 +- .../{lexical => expert}/proto/macros/meta.ex | 2 +- .../{lexical => expert}/proto/macros/parse.ex | 6 +- .../proto/macros/struct.ex | 4 +- .../proto/macros/typespec.ex | 14 ++-- .../{lexical => expert}/proto/notification.ex | 6 +- .../lib/{lexical => expert}/proto/request.ex | 12 +-- .../lib/{lexical => expert}/proto/response.ex | 10 +-- .../lib/{lexical => expert}/proto/text.ex | 2 +- .../lib/{lexical => expert}/proto/type.ex | 6 +- .../proto/type_functions.ex | 2 +- .../{lexical => expert}/proto/typespecs.ex | 4 +- .../lib/mix/tasks/lsp/data_model/type.ex | 2 +- apps/proto/lib/mix/tasks/lsp/mappings.ex | 4 +- .../lib/mix/tasks/lsp/mappings/generate.ex | 4 +- apps/proto/mix.exs | 2 +- apps/protocol/README.md | 2 +- .../protocol/conversions.ex | 20 ++--- .../convertibles/expert.document.changes.ex} | 6 +- .../convertibles/expert.document.edit.ex} | 8 +- .../convertibles/expert.document.location.ex} | 8 +- .../convertibles/expert.document.position.ex} | 6 +- .../convertibles/expert.document.range.ex} | 6 +- .../expert.protocol.types.location.ex} | 10 +-- .../expert.protocol.types.position.ex} | 6 +- .../expert.protocol.types.range.ex} | 6 +- ...es.text_document.content_change_event1.ex} | 6 +- .../expert.protocol.types.text_edit.ex} | 8 +- .../expert.document.changes.ex} | 4 +- .../expert.document.location.ex} | 6 +- ...pert.notifications.publish_diagnostics.ex} | 6 +- .../expert.protocol.types.location.ex} | 6 +- .../lib/{lexical => expert}/protocol/id.ex | 2 +- .../{lexical => expert}/protocol/json_rpc.ex | 6 +- .../protocol/notifications.ex | 6 +- .../{lexical => expert}/protocol/requests.ex | 8 +- .../{lexical => expert}/protocol/responses.ex | 8 +- .../call_hierarchy}/client_capabilities.ex | 4 +- .../protocol/types/call_hierarchy}/options.ex | 4 +- .../call_hierarchy}/registration/options.ex | 6 +- .../protocol/types/cancel/params.ex | 4 +- .../protocol/types/change_annotation.ex | 4 +- .../types/change_annotation/identifier.ex | 2 +- .../protocol/types/client_capabilities.ex | 6 +- .../protocol/types/code_action.ex | 8 +- .../types/code_action/client_capabilities.ex | 14 ++-- .../protocol/types/code_action/context.ex | 6 +- .../protocol/types/code_action/kind.ex | 4 +- .../protocol/types/code_action/options.ex | 6 +- .../protocol/types/code_action/params.ex | 6 +- .../types/code_action/trigger/kind.ex | 4 +- .../protocol/types/code_description.ex | 4 +- .../protocol/types/code_lens.ex | 6 +- .../types/code_lens}/client_capabilities.ex | 4 +- .../protocol/types/code_lens/options.ex | 4 +- .../protocol/types/code_lens/params.ex | 6 +- .../workspace/client_capabilities.ex | 4 +- .../protocol/types/command.ex | 4 +- .../types/completion/client_capabilities.ex | 18 ++--- .../protocol/types/completion/context.ex | 6 +- .../protocol/types/completion/item.ex | 6 +- .../protocol/types/completion/item/kind.ex | 4 +- .../types/completion/item/label_details.ex | 4 +- .../protocol/types/completion/item/tag.ex | 4 +- .../protocol/types/completion/list.ex | 10 +-- .../protocol/types/completion/options.ex | 6 +- .../protocol/types/completion/params.ex | 6 +- .../protocol/types/completion/trigger/kind.ex | 4 +- .../protocol/types/create_file.ex | 6 +- .../protocol/types/create_file/options.ex | 4 +- .../types/declaration}/client_capabilities.ex | 4 +- .../protocol/types/declaration}/options.ex | 4 +- .../types/declaration/registration/options.ex | 6 +- .../types/definition}/client_capabilities.ex | 4 +- .../protocol/types/definition/options.ex | 4 +- .../protocol/types/definition/params.ex | 6 +- .../protocol/types/delete_file.ex | 6 +- .../protocol/types/delete_file/options.ex | 4 +- .../protocol/types/diagnostic.ex | 6 +- .../types/diagnostic/client_capabilities.ex | 4 +- .../protocol/types/diagnostic/options.ex | 4 +- .../types/diagnostic/registration/options.ex | 6 +- .../types/diagnostic/related_information.ex | 6 +- .../protocol/types/diagnostic/severity.ex | 4 +- .../protocol/types/diagnostic/tag.ex | 4 +- .../workspace}/client_capabilities.ex | 4 +- .../client_capabilities.ex | 4 +- .../types/did_change_configuration/params.ex | 4 +- .../types/did_change_text_document/params.ex | 6 +- .../client_capabilities.ex | 4 +- .../types/did_change_watched_files/params.ex | 7 ++ .../registration/options.ex | 7 ++ .../types/did_close_text_document/params.ex | 6 +- .../types/did_open_text_document/params.ex | 6 +- .../types/did_save_text_document/params.ex | 6 +- .../document/color}/client_capabilities.ex | 4 +- .../protocol/types/document/color}/options.ex | 4 +- .../document/color}/registration/options.ex | 6 +- .../protocol/types/document/filter.ex | 6 +- .../formatting}/client_capabilities.ex | 4 +- .../types/document/formatting}/options.ex | 4 +- .../types/document/formatting/params.ex | 6 +- .../highlight}/client_capabilities.ex | 4 +- .../types/document/highlight}/options.ex | 4 +- .../document/link/client_capabilities.ex | 4 +- .../protocol/types/document/link/options.ex | 4 +- .../client_capabilities.ex | 4 +- .../document/on_type_formatting/options.ex | 4 +- .../range_formatting}/client_capabilities.ex | 4 +- .../document/range_formatting/options.ex | 6 ++ .../protocol/types/document/selector.ex | 6 +- .../protocol/types/document/symbol.ex | 6 +- .../document/symbol/client_capabilities.ex | 10 +-- .../protocol/types/document/symbol/options.ex | 4 +- .../protocol/types/document/symbol/params.ex | 6 +- .../protocol/types/error_codes.ex | 4 +- .../execute_command}/client_capabilities.ex | 4 +- .../protocol/types/execute_command/options.ex | 4 +- .../protocol/types/execute_command/params.ex | 6 +- .../execute_command/registration/options.ex | 4 +- .../protocol/types/failure_handling/kind.ex | 4 +- .../protocol/types/file_change_type.ex | 4 +- .../protocol/types/file_event.ex | 6 +- .../file_operation/client_capabilities.ex | 4 +- .../protocol/types/file_operation/filter.ex | 6 +- .../protocol/types/file_operation/options.ex | 6 +- .../protocol/types/file_operation/pattern.ex | 6 +- .../types/file_operation/pattern/kind.ex | 4 +- .../types/file_operation/pattern/options.ex | 4 +- .../file_operation/registration/options.ex | 6 +- .../protocol/types/file_system_watcher.ex | 6 +- .../folding_range/client_capabilities.ex | 10 +-- .../protocol/types/folding_range/kind.ex | 4 +- .../protocol/types/folding_range/options.ex | 6 ++ .../folding_range}/registration/options.ex | 6 +- .../protocol/types/formatting/options.ex | 4 +- .../types/general/client_capabilities.ex | 8 +- .../protocol/types/glob_pattern.ex | 6 +- .../protocol/types/hover.ex | 6 +- .../types/hover/client_capabilities.ex | 6 +- .../protocol/types/hover/options.ex | 4 +- .../protocol/types/hover/params.ex | 6 +- .../implementation}/client_capabilities.ex | 4 +- .../protocol/types/implementation/options.ex | 6 ++ .../implementation}/registration/options.ex | 6 +- .../protocol/types/initialize/params.ex | 8 +- .../protocol/types/initialize/result.ex | 8 +- .../types/inlay_hint/client_capabilities.ex | 6 +- .../protocol/types/inlay_hint/options.ex | 4 +- .../types/inlay_hint/registration/options.ex | 6 +- .../client_capabilities.ex | 4 +- .../inline_value}/client_capabilities.ex | 4 +- .../protocol/types/inline_value/options.ex | 6 ++ .../inline_value/registration/options.ex | 10 +++ .../workspace/client_capabilities.ex | 4 +- .../protocol/types/insert_replace_edit.ex | 6 +- .../protocol/types/insert_text_format.ex | 4 +- .../protocol/types/insert_text_mode.ex | 4 +- .../client_capabilities.ex | 4 +- .../types/linked_editing_range/options.ex} | 6 +- .../registration/options.ex | 6 +- .../protocol/types/location.ex | 6 +- .../protocol/types/location/link.ex | 6 +- .../protocol/types/log_message/params.ex | 6 +- .../protocol/types/lsp_error_codes.ex | 4 +- .../protocol/types/lsp_object.ex | 4 +- .../types/markdown/client_capabilities.ex | 4 +- .../protocol/types/marked_string.ex | 6 +- .../protocol/types/markup/content.ex | 6 +- .../protocol/types/markup/kind.ex | 4 +- .../protocol/types/message/action_item.ex | 4 +- .../protocol/types/message/type.ex | 4 +- .../types/moniker}/client_capabilities.ex | 4 +- .../protocol/types/moniker/options.ex | 4 +- .../types/moniker/registration/options.ex | 6 +- .../notebook/cell/text_document/filter.ex | 6 +- .../notebook/document/client_capabilities.ex | 6 +- .../types/notebook/document/filter.ex | 10 +-- .../document/sync/client_capabilities.ex | 4 +- .../types/notebook/document/sync/options.ex | 14 ++-- .../document/sync/registration/options.ex | 14 ++-- .../protocol/types/pattern.ex | 2 +- .../protocol/types/position.ex | 4 +- .../protocol/types/position/encoding/kind.ex | 4 +- .../types/prepare_support_default_behavior.ex | 6 ++ .../protocol/types/progress/params.ex | 6 +- .../protocol/types/progress/token.ex | 4 +- .../client_capabilities.ex | 8 +- .../types/publish_diagnostics/params.ex | 6 +- .../protocol/types/range.ex | 6 +- .../types/reference/client_capabilities.ex | 6 ++ .../protocol/types/reference/context.ex | 4 +- .../protocol/types/reference/options.ex | 6 ++ .../protocol/types/reference/params.ex | 6 +- .../protocol/types/registration.ex | 4 +- .../protocol/types/registration/params.ex | 6 +- .../client_capabilities.ex | 4 +- .../protocol/types/relative_pattern.ex | 6 +- .../types/rename/client_capabilities.ex | 6 +- .../protocol/types/rename/options.ex | 4 +- .../protocol/types/rename_file.ex | 6 +- .../protocol/types/rename_file/options.ex | 4 +- .../protocol/types/resource_operation/kind.ex | 4 +- .../protocol/types/save/options.ex | 4 +- .../selection_range/client_capabilities.ex | 6 ++ .../protocol/types/selection_range/options.ex | 6 ++ .../selection_range/registration/options.ex | 10 +++ .../semantic_tokens/client_capabilities.ex | 12 +-- .../protocol/types/semantic_tokens/legend.ex | 4 +- .../protocol/types/semantic_tokens/options.ex | 10 +-- .../semantic_tokens/registration/options.ex | 10 +-- .../workspace/client_capabilities.ex | 6 ++ .../protocol/types/server_capabilities.ex | 8 +- .../show_document/client_capabilities.ex | 4 +- .../protocol/types/show_message/params.ex | 6 +- .../client_capabilities.ex | 6 +- .../types/show_message_request/params.ex | 6 +- .../signature_help/client_capabilities.ex | 10 +-- .../protocol/types/signature_help/options.ex | 4 +- .../protocol/types/symbol/kind.ex | 4 +- .../protocol/types/symbol/tag.ex | 4 +- .../text_document/client_capabilities.ex | 6 +- .../text_document/content_change_event.ex | 10 +-- .../protocol/types/text_document/edit.ex | 6 +- .../protocol/types/text_document/filter.ex | 10 +-- .../types/text_document/identifier.ex | 4 +- .../protocol/types/text_document/item.ex | 4 +- .../optional_versioned/identifier.ex | 4 +- .../text_document/sync/client_capabilities.ex | 4 +- .../protocol/types/text_document/sync/kind.ex | 4 +- .../types/text_document/sync/options.ex | 6 +- .../text_document/versioned/identifier.ex | 4 +- .../protocol/types/text_edit.ex | 6 +- .../protocol/types/text_edit/annotated.ex | 6 +- .../protocol/types/token_format.ex | 4 +- .../protocol/types/trace_values.ex | 4 +- .../type_definition}/client_capabilities.ex | 4 +- .../protocol/types/type_definition/options.ex | 6 ++ .../type_definition/registration/options.ex | 10 +++ .../type_hierarchy/client_capabilities.ex | 6 ++ .../protocol/types/type_hierarchy}/options.ex | 4 +- .../type_hierarchy/registration/options.ex | 10 +++ .../protocol/types/watch/kind.ex | 4 +- .../types/window/client_capabilities.ex | 6 +- .../types/work_done/progress/begin.ex | 4 +- .../types/work_done/progress/create/params.ex | 7 ++ .../protocol/types/work_done/progress/end.ex | 4 +- .../types/work_done/progress/params.ex | 6 +- .../types/work_done/progress/report.ex | 4 +- .../types/workspace/client_capabilities.ex | 6 +- .../protocol/types/workspace/edit.ex | 6 +- .../workspace/edit/client_capabilities.ex | 8 +- .../protocol/types/workspace/folder.ex | 4 +- .../workspace/folders_server_capabilities.ex | 4 +- .../protocol/types/workspace/symbol.ex | 8 +- .../workspace/symbol/client_capabilities.ex | 12 +-- .../types/workspace/symbol/options.ex | 4 +- .../protocol/types/workspace/symbol/params.ex | 6 +- .../types/did_change_watched_files/params.ex | 7 -- .../registration/options.ex | 7 -- .../types/document/formatting/options.ex | 6 -- .../document/highlight/client_capabilities.ex | 6 -- .../types/document/highlight/options.ex | 6 -- .../on_type_formatting/client_capabilities.ex | 6 -- .../document/range_formatting/options.ex | 6 -- .../protocol/types/implementation/options.ex | 6 -- .../implementation/registration/options.ex | 10 --- .../types/linked_editing_range/options.ex | 6 -- .../registration/options.ex | 10 --- .../selection_range/client_capabilities.ex | 6 -- .../protocol/types/selection_range/options.ex | 6 -- .../selection_range/registration/options.ex | 10 --- .../workspace/client_capabilities.ex | 6 -- .../protocol/types/type_definition/options.ex | 6 -- .../type_definition/registration/options.ex | 10 --- .../protocol/types/type_hierarchy/options.ex | 6 -- .../types/work_done/progress/create/params.ex | 7 -- apps/protocol/mix.exs | 4 +- .../test/{lexical => expert}/proto_test.exs | 14 ++-- .../protocol/conversions_test.exs | 10 +-- .../expert.document.changes_test.exs} | 4 +- .../expert.document.edit_test.exs} | 4 +- .../expert.document.location_test.exs} | 4 +- .../expert.document.position_test.exs} | 4 +- .../expert.document.range_test.exs} | 4 +- .../expert.protocol.types.location_test.exs} | 4 +- .../expert.protocol.types.position_test.exs} | 4 +- .../expert.protocol.types.range_test.exs} | 4 +- ...t_document.content_change_event1_test.exs} | 6 +- .../expert.protocol.types.text_edit_test.exs} | 4 +- .../protocol/integration/initialize_test.exs | 18 ++--- .../protocol/notifications_test.exs | 4 +- .../protocol/requests_test.exs | 4 +- .../protocol/response_test.exs | 14 ++-- .../{lexical => }/test/convertible_support.ex | 10 +-- .../test/protocol/fixtures/lsp_protocol.ex | 2 +- .../lib/lexical/remote_control/application.ex | 37 --------- .../dispatch/handlers/indexing_test.exs | 2 - apps/server/README.md | 3 - .../completion/translations/typespec.ex | 12 --- apps/server/test/support/transport/no_op.ex | 5 -- flake.nix | 10 +-- integration/Dockerfile | 10 +-- integration/README.md | 4 +- integration/build.sh | 2 +- integration/test.sh | 10 +-- mix.exs | 24 +++--- nix/{lexical.nix => expert.nix} | 6 +- pages/architecture.md | 10 +-- pages/glossary.md | 4 +- 839 files changed, 3591 insertions(+), 3599 deletions(-) delete mode 100644 apps/common/lib/lexical.ex delete mode 100644 apps/common/lib/lexical/ast/detection/import.ex delete mode 100644 apps/common/lib/lexical/ast/detection/require.ex delete mode 100644 apps/common/lib/lexical/ast/detection/struct_field_value.ex delete mode 100644 apps/common/lib/lexical/ast/detection/use.ex delete mode 100644 apps/common/test/lexical/ast/detection/alias_test.exs delete mode 100644 apps/common/test/lexical/ast/detection/bitstring_test.exs delete mode 100644 apps/common/test/lexical/ast/detection/comment_test.exs delete mode 100644 apps/common/test/lexical/ast/detection/require_test.exs delete mode 100644 apps/common/test/lexical/ast/detection/spec_test.exs delete mode 100644 apps/common/test/lexical/ast/detection/use_test.exs rename apps/{remote_control => engine}/.credo.exs (100%) rename apps/{remote_control => engine}/.formatter.exs (97%) rename apps/{common => engine}/.gitignore (97%) rename apps/{remote_control => engine}/README.md (82%) rename apps/{remote_control => engine}/benchmarks/ast_analyze.exs (87%) rename apps/{remote_control => engine}/benchmarks/data/enum.ex (100%) rename apps/{remote_control => engine}/benchmarks/data/source.index.v1.ets (100%) rename apps/{remote_control => engine}/benchmarks/enum_index.exs (85%) rename apps/{remote_control => engine}/benchmarks/ets_bench.exs (85%) rename apps/{remote_control => engine}/benchmarks/versions_bench.exs (88%) rename apps/{remote_control => engine}/config/config.exs (100%) rename apps/{remote_control => engine}/config/dev.exs (100%) rename apps/{remote_control => engine}/config/prod.exs (100%) rename apps/{remote_control => engine}/config/test.exs (88%) rename apps/{remote_control/lib/lexical/remote_control.ex => engine/lib/engine/engine.ex} (88%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/analyzer.ex (92%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/analyzer/aliases.ex (88%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/analyzer/imports.ex (92%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/analyzer/requires.ex (73%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/analyzer/uses.ex (75%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/api.ex (57%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/api/messages.ex (85%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/api/proxy.ex (90%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/api/proxy/buffering_state.ex (92%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/api/proxy/draining_state.ex (79%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/api/proxy/proxying_state.ex (88%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/api/proxy/records.ex (91%) create mode 100644 apps/engine/lib/engine/engine/application.ex rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/bootstrap.ex (93%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build.ex (87%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/capture_io.ex (97%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/capture_server.ex (98%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/document.ex (73%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/document/compiler.ex (84%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/document/compilers/config.ex (92%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/document/compilers/eex.ex (92%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/document/compilers/elixir.ex (84%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/document/compilers/heex.ex (77%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/document/compilers/no_op.ex (68%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/document/compilers/quoted.ex (95%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/error.ex (98%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/error/location.ex (92%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/error/parse.ex (96%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/isolation.ex (81%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/project.ex (91%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/build/state.ex (88%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_action.ex (81%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_action/diagnostic.ex (82%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_action/handler.ex (50%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_action/handlers/add_alias.ex (89%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_action/handlers/organize_aliases.ex (78%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_action/handlers/refactorex.ex (79%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_action/handlers/remove_unused_alias.ex (94%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_action/handlers/replace_remote_function.ex (90%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_action/handlers/replace_with_underscore.ex (88%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_intelligence/definition.ex (92%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_intelligence/docs.ex (95%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_intelligence/docs/entry.ex (95%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_intelligence/entity.ex (94%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_intelligence/references.ex (84%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_intelligence/structs.ex (57%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_intelligence/symbols.ex (90%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_intelligence/symbols/document.ex (93%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_intelligence/symbols/workspace.ex (77%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_intelligence/variable.ex (97%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_mod/aliases.ex (95%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_mod/diff.ex (94%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/code_mod/format.ex (94%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/commands/reindex.ex (87%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/compilation/tracer.ex (83%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/completion.ex (90%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/completion/candidate.ex (98%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/completion/candidate/argument_names.ex (97%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/dispatch.ex (76%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/dispatch/handler.ex (90%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/dispatch/handlers/indexing.ex (69%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/dispatch/pub_sub.ex (96%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/mix.ex (78%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/mix.tasks.deps.safe_compile.ex (100%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/module/loader.ex (95%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/module_mappings.ex (92%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/modules.ex (96%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/plugin.ex (73%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/plugin/discovery.ex (82%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/plugin/runner.ex (85%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/plugin/runner/coordinator.ex (84%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/plugin/runner/coordinator/state.ex (96%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/plugin/supervisor.ex (87%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/port.ex (87%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/progress.ex (69%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/project_node.ex (94%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/project_node_supervisor.ex (83%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/fuzzy.ex (95%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/fuzzy/scorer.ex (99%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer.ex (91%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/entry.ex (93%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/extractors/ecto_schema.ex (89%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/extractors/ex_unit.ex (90%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/extractors/function_definition.ex (91%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/extractors/function_reference.ex (90%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/extractors/module.ex (93%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/extractors/module_attribute.ex (86%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/extractors/struct_definition.ex (73%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/extractors/struct_reference.ex (89%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/extractors/variable.ex (96%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/metadata.ex (96%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/module.ex (85%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/quoted.ex (76%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/source.ex (67%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/source/block.ex (77%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/indexer/source/reducer.ex (93%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/store.ex (93%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/store/backend.ex (95%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/store/backends/ets.ex (93%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/store/backends/ets/schema.ex (96%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/store/backends/ets/schemas/legacy_v0.ex (69%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/store/backends/ets/schemas/v1.ex (90%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/store/backends/ets/schemas/v2.ex (88%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/store/backends/ets/schemas/v3.ex (90%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/store/backends/ets/state.ex (95%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/store/backends/ets/wal.ex (98%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/store/state.ex (96%) rename apps/{remote_control/lib/lexical/remote_control => engine/lib/engine/engine}/search/subject.ex (80%) rename apps/{remote_control => engine}/lib/mix/tasks/namespace.ex (91%) rename apps/{remote_control => engine}/lib/mix/tasks/namespace/abstract.ex (100%) rename apps/{remote_control => engine}/lib/mix/tasks/namespace/code.ex (100%) rename apps/{remote_control => engine}/lib/mix/tasks/namespace/module.ex (84%) rename apps/{remote_control => engine}/lib/mix/tasks/namespace/path.ex (100%) rename apps/{remote_control => engine}/lib/mix/tasks/namespace/transform/app_directories.ex (100%) rename apps/{remote_control => engine}/lib/mix/tasks/namespace/transform/apps.ex (97%) rename apps/{remote_control => engine}/lib/mix/tasks/namespace/transform/beams.ex (100%) rename apps/{remote_control => engine}/lib/mix/tasks/namespace/transform/boots.ex (100%) rename apps/{remote_control => engine}/lib/mix/tasks/namespace/transform/configs.ex (100%) rename apps/{remote_control => engine}/lib/mix/tasks/namespace/transform/erlang.ex (100%) rename apps/{remote_control => engine}/lib/mix/tasks/namespace/transform/scripts.ex (97%) rename apps/{remote_control => engine}/mix.exs (88%) rename apps/{remote_control => engine}/mix.lock (100%) rename apps/{remote_control => engine}/priv/port_wrapper.sh (100%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/analyzer/aliases_test.exs (98%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/analyzer/imports_test.exs (98%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/analyzer/requires_test.exs (91%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/analyzer/uses_test.exs (92%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/analyzer_test.exs (97%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/api/proxy/buffering_state_test.exs (92%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/api/proxy_test.exs (92%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/build/document/compilers/config_test.exs (94%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/build/document/compilers/eex_test.exs (90%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/build/document/compilers/elixir_test.exs (86%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/build/document/compilers/heex_test.exs (88%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/build/document/compilers/quoted_test.exs (89%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/build/error/parse_test.exs (97%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/build/error_test.exs (98%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/build/state_test.exs (87%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/build_test.exs (93%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_action/handlers/add_alias_test.exs (74%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_action/handlers/organize_aliases_test.exs (92%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_action/handlers/refactorex_test.exs (84%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_action/handlers/remove_unused_alias_test.exs (94%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_action/handlers/replace_remote_function_test.exs (94%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_action/handlers/replace_with_underscore_test.exs (96%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_intelligence/definition_test.exs (93%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_intelligence/entity_test.exs (97%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_intelligence/references_test.exs (93%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_intelligence/symbols_test.exs (97%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_intelligence/variable_test.exs (97%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_mod/aliases_test.exs (93%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_mod/diff_test.exs (95%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/code_mod/format_test.exs (83%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/commands/reindex_test.exs (87%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/completion/candidate/argument_names_test.exs (95%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/completion_test.exs (94%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/dispatch/handler_test.exs (95%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/dispatch/handlers/indexer_test.exs (86%) create mode 100644 apps/engine/test/engine/dispatch/handlers/indexing_test.exs rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/dispatch/pub_sub_state_test.exs (96%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/dispatch_test.exs (93%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/module_mappings_test.exs (87%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/modules_test.exs (88%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/plugin/runner/coordinator/state_test.exs (93%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/plugin/runner/coordinator_test.exs (85%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/progress_test.exs (76%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/project_node_test.exs (72%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/fuzzy/scorer_test.exs (87%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/fuzzy_test.exs (94%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer/extractors/ecto_schema_test.exs (98%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer/extractors/ex_unit_test.exs (97%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer/extractors/function_definition_test.exs (98%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer/extractors/function_reference_test.exs (98%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer/extractors/module_attribute_test.exs (97%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer/extractors/module_test.exs (99%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer/extractors/protocol_test.exs (97%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer/extractors/struct_definition_test.exs (93%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer/extractors/struct_reference_test.exs (98%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer/extractors/variable_test.exs (99%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer/metadata_test.exs (93%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer/structure_test.exs (92%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/indexer_test.exs (95%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/store/backends/ets/schema_test.exs (94%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/store/backends/ets/wal_test.exs (98%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/store/backends/ets_test.exs (95%) rename apps/{remote_control/test/lexical/remote_control => engine/test/engine}/search/store_test.exs (94%) rename apps/{lexical_credo => engine/test/fixtures/compilation_callback_errors}/.formatter.exs (100%) rename apps/{remote_control => engine}/test/fixtures/compilation_callback_errors/.gitignore (100%) rename apps/{remote_control => engine}/test/fixtures/compilation_callback_errors/lib/compile_callback_error.ex (100%) rename apps/{remote_control => engine}/test/fixtures/compilation_callback_errors/mix.exs (100%) rename apps/{remote_control/test/fixtures/compilation_callback_errors => engine/test/fixtures/compilation_errors}/.formatter.exs (100%) rename apps/{remote_control => engine}/test/fixtures/compilation_errors/.gitignore (100%) rename apps/{remote_control => engine}/test/fixtures/compilation_errors/README.md (100%) rename apps/{remote_control => engine}/test/fixtures/compilation_errors/lib/compilation_errors.ex (100%) rename apps/{remote_control => engine}/test/fixtures/compilation_errors/mix.exs (100%) rename apps/{remote_control/test/fixtures/compilation_errors => engine/test/fixtures/compilation_warnings}/.formatter.exs (100%) rename apps/{remote_control => engine}/test/fixtures/compilation_warnings/.gitignore (100%) rename apps/{remote_control => engine}/test/fixtures/compilation_warnings/README.md (100%) rename apps/{remote_control => engine}/test/fixtures/compilation_warnings/lib/unused_variable.ex (100%) rename apps/{remote_control => engine}/test/fixtures/compilation_warnings/mix.exs (100%) rename apps/{remote_control => engine}/test/fixtures/dependency/lib/dependency/structs.ex (100%) rename apps/{remote_control => engine}/test/fixtures/navigations/lib/macro_struct.ex (100%) rename apps/{remote_control => engine}/test/fixtures/navigations/lib/multi_arity.ex (100%) rename apps/{remote_control => engine}/test/fixtures/navigations/lib/my_definition.ex (100%) rename apps/{remote_control => engine}/test/fixtures/navigations/lib/struct.ex (100%) rename apps/{remote_control => engine}/test/fixtures/navigations/lib/uses.ex (100%) rename apps/{remote_control => engine}/test/fixtures/navigations/mix.exs (100%) rename apps/{remote_control => engine}/test/fixtures/parse_errors/lib/parse_errors.ex (100%) rename apps/{remote_control => engine}/test/fixtures/parse_errors/mix.exs (100%) rename apps/{remote_control => engine}/test/fixtures/project/.formatter.exs (100%) rename apps/{remote_control => engine}/test/fixtures/project/.gitignore (100%) rename apps/{remote_control => engine}/test/fixtures/project/README.md (100%) rename apps/{remote_control => engine}/test/fixtures/project/lib/behaviours.ex (100%) rename apps/{remote_control => engine}/test/fixtures/project/lib/default_args.ex (100%) rename apps/{remote_control => engine}/test/fixtures/project/lib/functions.ex (100%) rename apps/{remote_control => engine}/test/fixtures/project/lib/macros.ex (100%) rename apps/{remote_control => engine}/test/fixtures/project/lib/other_modules.ex (100%) rename apps/{remote_control => engine}/test/fixtures/project/lib/project.ex (100%) rename apps/{remote_control => engine}/test/fixtures/project/lib/structs.ex (100%) rename apps/{remote_control => engine}/test/fixtures/project/mix.exs (100%) rename apps/{remote_control/test/fixtures/compilation_warnings => engine/test/fixtures/project_metadata}/.formatter.exs (100%) rename apps/{remote_control => engine}/test/fixtures/project_metadata/.gitignore (100%) rename apps/{remote_control => engine}/test/fixtures/project_metadata/README.md (100%) rename apps/{remote_control => engine}/test/fixtures/project_metadata/config/config.exs (100%) rename apps/{remote_control => engine}/test/fixtures/project_metadata/lib/project_metadata.ex (100%) rename apps/{remote_control => engine}/test/fixtures/project_metadata/mix.exs (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/.formatter.exs (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/.gitignore (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/README.md (100%) rename apps/{remote_control/test/fixtures/project_metadata => engine/test/fixtures/umbrella/apps/first}/.formatter.exs (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/apps/first/.gitignore (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/apps/first/README.md (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/apps/first/lib/umbrella/first.ex (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/apps/first/mix.exs (100%) rename apps/{remote_control/test/fixtures/umbrella/apps/first => engine/test/fixtures/umbrella/apps/second}/.formatter.exs (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/apps/second/.gitignore (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/apps/second/README.md (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/apps/second/lib/umbrella/second.ex (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/apps/second/mix.exs (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/config/config.exs (100%) rename apps/{remote_control => engine}/test/fixtures/umbrella/mix.exs (100%) rename apps/{remote_control/test/lexical => engine/test}/remote_control_test.exs (53%) rename apps/{remote_control/test/support/lexical => engine/test/support}/test/code_mod_case.ex (89%) rename apps/{remote_control/test/support/lexical => engine/test/support}/test/entry/entry_builder.ex (80%) rename apps/{remote_control/test/support/lexical => engine/test/support}/test/extractor_case.ex (82%) rename apps/{remote_control/test/support/lexical => engine/test/support}/test/fixtures.ex (68%) rename apps/{remote_control/test/support/lexical => engine/test/support}/test/mfa_support.ex (79%) rename apps/{remote_control => engine}/test/test_helper.exs (90%) rename apps/{lexical_credo => expert}/.credo.exs (100%) rename apps/{server => expert}/.formatter.exs (88%) rename apps/{server => expert}/.gitignore (100%) rename apps/{server => expert}/.iex.exs (53%) create mode 100644 apps/expert/README.md rename apps/{server => expert}/bin/activate_version_manager.sh (100%) rename apps/{server => expert}/bin/boot.exs (78%) rename apps/{server => expert}/bin/debug_shell.sh (90%) rename apps/{server/bin/start_lexical.sh => expert/bin/start_expert.sh} (94%) rename apps/{server => expert}/config/config.exs (100%) rename apps/{server => expert}/config/dev.exs (100%) rename apps/{server => expert}/config/prod.exs (100%) rename apps/{server => expert}/config/runtime.exs (76%) rename apps/{server => expert}/config/test.exs (100%) rename apps/{server/lib/lexical/convertibles/lexical.plugin.diagnostic.result.ex => expert/lib/convertibles/expert.plugin.diagnostic.result.ex} (82%) rename apps/{server/lib/lexical/server.ex => expert/lib/expert.ex} (95%) rename apps/{server/lib/lexical/server => expert/lib/expert}/application.ex (50%) rename apps/{server/lib/lexical/server => expert/lib/expert}/boot.ex (89%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion.ex (89%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/builder.ex (91%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/sort_scope.ex (91%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/translatable.ex (51%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/translations/bitstring_option.ex (57%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/translations/callable.ex (95%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/translations/callback.ex (87%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/translations/function.ex (53%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/translations/macro.ex (96%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/translations/map_field.ex (75%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/translations/module_attribute.ex (90%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/translations/module_or_behaviour.ex (90%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/translations/struct.ex (94%) rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/translations/struct_field.ex (79%) create mode 100644 apps/expert/lib/expert/code_intelligence/completion/translations/typespec.ex rename apps/{server/lib/lexical/server => expert/lib/expert}/code_intelligence/completion/translations/variable.ex (53%) rename apps/{server/lib/lexical/server => expert/lib/expert}/configuration.ex (86%) rename apps/{server/lib/lexical/server => expert/lib/expert}/configuration/support.ex (89%) rename apps/{server/lib/lexical/server => expert/lib/expert}/dialyzer.ex (52%) rename apps/{server/lib/lexical/server => expert/lib/expert}/iex/helpers.ex (78%) rename apps/{server/lib/lexical/server => expert/lib/expert}/project/diagnostics.ex (86%) rename apps/{server/lib/lexical/server => expert/lib/expert}/project/diagnostics/state.ex (95%) rename apps/{server/lib/lexical/server => expert/lib/expert}/project/intelligence.ex (97%) rename apps/{server/lib/lexical/server => expert/lib/expert}/project/node.ex (85%) rename apps/{server/lib/lexical/server => expert/lib/expert}/project/progress.ex (85%) rename apps/{server/lib/lexical/server => expert/lib/expert}/project/progress/percentage.ex (91%) rename apps/{server/lib/lexical/server => expert/lib/expert}/project/progress/state.ex (89%) rename apps/{server/lib/lexical/server => expert/lib/expert}/project/progress/support.ex (85%) rename apps/{server/lib/lexical/server => expert/lib/expert}/project/progress/value.ex (89%) rename apps/{server/lib/lexical/server => expert/lib/expert}/project/search_listener.ex (79%) rename apps/{server/lib/lexical/server => expert/lib/expert}/project/supervisor.ex (73%) rename apps/{server/lib/lexical/server => expert/lib/expert}/provider/handlers/code_action.ex (72%) rename apps/{server/lib/lexical/server => expert/lib/expert}/provider/handlers/code_lens.ex (76%) rename apps/{server/lib/lexical/server => expert/lib/expert}/provider/handlers/commands.ex (77%) rename apps/{server/lib/lexical/server => expert/lib/expert}/provider/handlers/completion.ex (71%) rename apps/{server/lib/lexical/server => expert/lib/expert}/provider/handlers/document_symbols.ex (77%) rename apps/{server/lib/lexical/server => expert/lib/expert}/provider/handlers/find_references.ex (66%) rename apps/{server/lib/lexical/server => expert/lib/expert}/provider/handlers/formatting.ex (62%) rename apps/{server/lib/lexical/server => expert/lib/expert}/provider/handlers/go_to_definition.ex (55%) rename apps/{server/lib/lexical/server => expert/lib/expert}/provider/handlers/hover.ex (88%) rename apps/{server/lib/lexical/server => expert/lib/expert}/provider/handlers/workspace_symbol.ex (74%) rename apps/{server/lib/lexical/server => expert/lib/expert}/provider/markdown.ex (95%) rename apps/{server/lib/lexical/server => expert/lib/expert}/state.ex (84%) rename apps/{server/lib/lexical/server => expert/lib/expert}/task_queue.ex (94%) rename apps/{server/lib/lexical/server => expert/lib/expert}/transport.ex (55%) rename apps/{server/lib/lexical/server => expert/lib/expert}/transport/std_io.ex (94%) rename apps/{server/lib/lexical/server => expert/lib/expert}/window.ex (83%) rename apps/{server => expert}/lib/mix/tasks/package.ex (92%) rename apps/{server => expert}/mix.exs (84%) rename apps/{server => expert}/mix.lock (100%) rename apps/{server/test/lexical/convertibles/lexical.plugin.diagnostic.result_test.exs => expert/test/convertibles/expert.plugin.diagnostic.result_test.exs} (88%) rename apps/{server => expert}/test/document_test.exs (97%) rename apps/{server/test/lexical/server => expert/test/expert}/boot_test.exs (76%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion/builder_test.exs (84%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion/translations/bitstring_option_test.exs (97%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion/translations/callback_test.exs (92%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion/translations/function_test.exs (98%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion/translations/interpolation_test.exs (92%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion/translations/macro_test.exs (99%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion/translations/map_field_test.exs (87%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion/translations/module_attribute_test.exs (98%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion/translations/module_or_behaviour_test.exs (98%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion/translations/struct_field_test.exs (98%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion/translations/struct_test.exs (98%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion/translations/variable_test.exs (87%) rename apps/{server/test/lexical/server => expert/test/expert}/code_intelligence/completion_test.exs (89%) rename apps/{server/test/lexical/server => expert/test/expert}/project/diagnostics/state_test.exs (93%) rename apps/{server/test/lexical/server => expert/test/expert}/project/diagnostics_test.exs (75%) rename apps/{server/test/lexical/server => expert/test/expert}/project/intelligence_test.exs (96%) rename apps/{server/test/lexical/server => expert/test/expert}/project/node_test.exs (57%) rename apps/{server/test/lexical/server => expert/test/expert}/project/progress/state_test.exs (90%) rename apps/{server/test/lexical/server => expert/test/expert}/project/progress/support_test.exs (82%) rename apps/{server/test/lexical/server => expert/test/expert}/project/progress_test.exs (84%) rename apps/{server/test/lexical/server => expert/test/expert}/provider/handlers/code_lens_test.exs (70%) rename apps/{server/test/lexical/server => expert/test/expert}/provider/handlers/find_references_test.exs (66%) rename apps/{server/test/lexical/server => expert/test/expert}/provider/handlers/go_to_definition_test.exs (73%) rename apps/{server/test/lexical/server => expert/test/expert}/provider/handlers/hover_test.exs (94%) rename apps/{server/test/lexical/server => expert/test/expert}/task_queue_test.exs (91%) rename apps/{server/test/lexical/server => expert/test/expert}/transport/std_io_test.exs (93%) rename apps/{server/test/support/lexical => expert/test/support}/test/completion_case.ex (76%) rename apps/{server/test/support/lexical => expert/test/support}/test/dispatch_fake.ex (65%) create mode 100644 apps/expert/test/support/transport/no_op.ex rename apps/{server => expert}/test/test_helper.exs (100%) rename apps/{server => expert_credo}/.credo.exs (100%) rename apps/{remote_control/test/fixtures/umbrella/apps/second => expert_credo}/.formatter.exs (100%) rename apps/{lexical_credo => expert_credo}/.gitignore (96%) rename apps/{lexical_credo => expert_credo}/LICENSE (100%) rename apps/{lexical_credo => expert_credo}/README.md (66%) rename apps/{lexical_credo/lib/lexical_credo.ex => expert_credo/lib/expert_credo.ex} (93%) rename apps/{lexical_credo => expert_credo}/mix.exs (81%) rename apps/{lexical_credo => expert_credo}/mix.lock (100%) rename apps/{lexical_credo/test/lexical_credo_test.exs => expert_credo/test/expert_credo_test.exs} (84%) rename apps/{lexical_credo => expert_credo}/test/test_helper.exs (100%) rename apps/{common => forge}/.credo.exs (100%) rename apps/{common => forge}/.formatter.exs (94%) rename apps/{remote_control => forge}/.gitignore (96%) rename apps/{common => forge}/README.md (100%) rename apps/{common => forge}/benchmarks/snowflake_bench.exs (100%) rename apps/{common => forge}/config/config.exs (100%) rename apps/{common => forge}/lib/elixir/features.ex (97%) create mode 100644 apps/forge/lib/forge.ex rename apps/{common/lib/lexical => forge/lib/forge}/ast.ex (97%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/analysis.ex (97%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/analysis/alias.ex (91%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/analysis/import.ex (95%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/analysis/require.ex (72%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/analysis/scope.ex (93%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/analysis/state.ex (93%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/analysis/use.ex (70%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection.ex (95%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/alias.ex (92%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/bitstring.ex (71%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/comment.ex (53%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/directive.ex (73%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/function_capture.ex (78%) create mode 100644 apps/forge/lib/forge/ast/detection/import.ex rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/module_attribute.ex (67%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/pipe.ex (77%) create mode 100644 apps/forge/lib/forge/ast/detection/require.ex rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/spec.ex (53%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/string.ex (91%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/struct_field_key.ex (73%) create mode 100644 apps/forge/lib/forge/ast/detection/struct_field_value.ex rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/struct_fields.ex (56%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/struct_reference.ex (83%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/detection/type.ex (53%) create mode 100644 apps/forge/lib/forge/ast/detection/use.ex rename apps/{common/lib/lexical => forge/lib/forge}/ast/env.ex (96%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/module.ex (96%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/range.ex (90%) rename apps/{common/lib/lexical => forge/lib/forge}/ast/tokens.ex (98%) rename apps/{common/lib/lexical => forge/lib/forge}/code_unit.ex (99%) rename apps/{common/lib/lexical => forge/lib/forge}/convertible.ex (88%) rename apps/{common/lib/lexical => forge/lib/forge}/debug.ex (85%) rename apps/{common/lib/lexical => forge/lib/forge}/document.ex (93%) rename apps/{common/lib/lexical => forge/lib/forge}/document/changes.ex (86%) rename apps/{common/lib/lexical => forge/lib/forge}/document/container.ex (88%) rename apps/{common/lib/lexical => forge/lib/forge}/document/edit.ex (79%) rename apps/{common/lib/lexical => forge/lib/forge}/document/line.ex (95%) rename apps/{common/lib/lexical => forge/lib/forge}/document/line_parser.ex (96%) rename apps/{common/lib/lexical => forge/lib/forge}/document/lines.ex (92%) rename apps/{common/lib/lexical => forge/lib/forge}/document/location.ex (80%) rename apps/{common/lib/lexical => forge/lib/forge}/document/path.ex (95%) rename apps/{common/lib/lexical => forge/lib/forge}/document/position.ex (87%) rename apps/{common/lib/lexical => forge/lib/forge}/document/range.ex (87%) rename apps/{common/lib/lexical => forge/lib/forge}/document/store.ex (87%) rename apps/{common/lib/lexical => forge/lib/forge}/formats.ex (98%) rename apps/{common/lib/lexical => forge/lib/forge}/identifier.ex (94%) rename apps/{common/lib/lexical => forge/lib/forge}/math.ex (95%) rename apps/{common/lib/lexical => forge/lib/forge}/plugin/v1/diagnostic.ex (62%) rename apps/{common/lib/lexical => forge/lib/forge}/plugin/v1/diagnostic/result.ex (91%) rename apps/{common/lib/lexical => forge/lib/forge}/process_cache.ex (98%) rename apps/{common/lib/lexical => forge/lib/forge}/project.ex (92%) rename apps/{common/lib/lexical => forge/lib/forge}/struct_access.ex (96%) rename apps/{common/lib/lexical => forge/lib/forge}/text.ex (90%) rename apps/{common/lib/lexical => forge/lib/forge}/vm/versions.ex (99%) rename apps/{common => forge}/lib/future/code.ex (99%) rename apps/{common => forge}/lib/future/code/fragment.ex (100%) rename apps/{common => forge}/lib/future/code/indentifier.ex (100%) rename apps/{common => forge}/lib/future/code/typespec.ex (100%) rename apps/{common => forge}/lib/future/macro.ex (100%) rename apps/{common => forge}/lib/future/mix/tasks/format.ex (100%) rename apps/{common => forge}/lib/mix/tasks/hooks.ex (100%) rename apps/{common => forge}/mix.exs (94%) rename apps/{common => forge}/mix.lock (100%) rename apps/{common => forge}/src/future_elixir.erl (96%) rename apps/{common => forge}/src/future_elixir.hrl (100%) rename apps/{common => forge}/src/future_elixir_errors.erl (99%) rename apps/{common => forge}/src/future_elixir_interpolation.erl (100%) rename apps/{common => forge}/src/future_elixir_parser.yrl (100%) rename apps/{common => forge}/src/future_elixir_tokenizer.erl (100%) rename apps/{common => forge}/src/future_elixir_tokenizer.hrl (100%) create mode 100644 apps/forge/test/forge/ast/detection/alias_test.exs create mode 100644 apps/forge/test/forge/ast/detection/bitstring_test.exs create mode 100644 apps/forge/test/forge/ast/detection/comment_test.exs rename apps/{common/test/lexical => forge/test/forge}/ast/detection/function_capture_test.exs (88%) rename apps/{common/test/lexical => forge/test/forge}/ast/detection/import_test.exs (65%) rename apps/{common/test/lexical => forge/test/forge}/ast/detection/module_attribute_test.exs (67%) rename apps/{common/test/lexical => forge/test/forge}/ast/detection/pipe_test.exs (69%) create mode 100644 apps/forge/test/forge/ast/detection/require_test.exs create mode 100644 apps/forge/test/forge/ast/detection/spec_test.exs rename apps/{common/test/lexical => forge/test/forge}/ast/detection/string_test.exs (83%) rename apps/{common/test/lexical => forge/test/forge}/ast/detection/struct_field_key_test.exs (72%) rename apps/{common/test/lexical => forge/test/forge}/ast/detection/struct_field_value_test.exs (80%) rename apps/{common/test/lexical => forge/test/forge}/ast/detection/struct_fields_test.exs (86%) rename apps/{common/test/lexical => forge/test/forge}/ast/detection/struct_reference_test.exs (91%) rename apps/{common/test/lexical => forge/test/forge}/ast/detection/type_test.exs (72%) create mode 100644 apps/forge/test/forge/ast/detection/use_test.exs rename apps/{common/test/lexical => forge/test/forge}/ast/env_test.exs (97%) rename apps/{common/test/lexical => forge/test/forge}/ast/module_test.exs (55%) rename apps/{common/test/lexical => forge/test/forge}/ast/tokens_test.exs (94%) rename apps/{common/test/lexical => forge/test/forge}/ast_test.exs (96%) rename apps/{common/test/lexical => forge/test/forge}/code_unit_test.exs (98%) rename apps/{common/test/lexical => forge/test/forge}/document/lines_test.exs (94%) rename apps/{common/test/lexical => forge/test/forge}/document/path_test.exs (98%) rename apps/{common/test/lexical => forge/test/forge}/document/position_test.exs (90%) rename apps/{common/test/lexical => forge/test/forge}/document/range_test.exs (91%) rename apps/{common/test/lexical => forge/test/forge}/document/store_test.exs (97%) rename apps/{common/test/lexical => forge/test/forge}/formats_test.exs (90%) rename apps/{common/test/lexical => forge/test/forge}/line_parser_test.exs (96%) rename apps/{common/test/lexical => forge/test/forge}/math_test.exs (94%) rename apps/{common/test/lexical => forge/test/forge}/process_cache_test.exs (97%) rename apps/{common/test/lexical => forge/test/forge}/project_test.exs (89%) rename apps/{common/test/lexical => forge/test/forge}/text_test.exs (89%) rename apps/{common/test/lexical => forge/test/forge}/vm/versions_test.exs (97%) rename apps/{common/test/support/lexical => forge/test/support}/test/code_sigil.ex (96%) rename apps/{common/test/support/lexical => forge/test/support}/test/cursor_support.ex (94%) rename apps/{common/test/support/lexical => forge/test/support}/test/detection_case.ex (95%) rename apps/{common/test/support/lexical => forge/test/support}/test/detection_case/suite.ex (99%) rename apps/{common/test/support/lexical => forge/test/support}/test/diagnostic_support.ex (84%) rename apps/{common/test/support/lexical => forge/test/support}/test/document_support.ex (80%) rename apps/{common/test/support/lexical => forge/test/support}/test/eventual_assertions.ex (97%) rename apps/{common/test/support/lexical => forge/test/support}/test/position_support.ex (87%) rename apps/{common/test/support/lexical => forge/test/support}/test/quiet.ex (88%) rename apps/{common/test/support/lexical => forge/test/support}/test/range_support.ex (94%) rename apps/{common/test/support/lexical => forge/test/support}/test/variations.ex (95%) rename apps/{common => forge}/test/test_helper.exs (100%) rename apps/proto/lib/{lexical => expert}/proto.ex (87%) rename apps/proto/lib/{lexical => expert}/proto/alias.ex (84%) rename apps/proto/lib/{lexical => expert}/proto/compile_metadata.ex (97%) rename apps/proto/lib/{lexical => expert}/proto/convert.ex (90%) rename apps/proto/lib/{lexical => expert}/proto/decoders.ex (97%) rename apps/proto/lib/{lexical => expert}/proto/enum.ex (95%) rename apps/proto/lib/{lexical => expert}/proto/field.ex (99%) rename apps/proto/lib/{lexical => expert}/proto/lsp_types.ex (94%) rename apps/proto/lib/{lexical => expert}/proto/macros/access.ex (95%) rename apps/proto/lib/{lexical => expert}/proto/macros/inspect.ex (95%) rename apps/proto/lib/{lexical => expert}/proto/macros/json.ex (95%) rename apps/proto/lib/{lexical => expert}/proto/macros/match.ex (91%) rename apps/proto/lib/{lexical => expert}/proto/macros/message.ex (92%) rename apps/proto/lib/{lexical => expert}/proto/macros/meta.ex (96%) rename apps/proto/lib/{lexical => expert}/proto/macros/parse.ex (97%) rename apps/proto/lib/{lexical => expert}/proto/macros/struct.ex (93%) rename apps/proto/lib/{lexical => expert}/proto/macros/typespec.ex (93%) rename apps/proto/lib/{lexical => expert}/proto/notification.ex (95%) rename apps/proto/lib/{lexical => expert}/proto/request.ex (94%) rename apps/proto/lib/{lexical => expert}/proto/response.ex (90%) rename apps/proto/lib/{lexical => expert}/proto/text.ex (87%) rename apps/proto/lib/{lexical => expert}/proto/type.ex (88%) rename apps/proto/lib/{lexical => expert}/proto/type_functions.ex (94%) rename apps/proto/lib/{lexical => expert}/proto/typespecs.ex (93%) rename apps/protocol/lib/{lexical => expert}/protocol/conversions.ex (93%) rename apps/protocol/lib/{lexical/protocol/convertibles/lexical.document.changes.ex => expert/protocol/convertibles/expert.document.changes.ex} (50%) rename apps/protocol/lib/{lexical/protocol/convertibles/lexical.document.edit.ex => expert/protocol/convertibles/expert.document.edit.ex} (72%) rename apps/protocol/lib/{lexical/protocol/convertibles/lexical.document.location.ex => expert/protocol/convertibles/expert.document.location.ex} (67%) rename apps/protocol/lib/{lexical/protocol/convertibles/lexical.document.position.ex => expert/protocol/convertibles/expert.document.position.ex} (60%) rename apps/protocol/lib/{lexical/protocol/convertibles/lexical.document.range.ex => expert/protocol/convertibles/expert.document.range.ex} (58%) rename apps/protocol/lib/{lexical/protocol/convertibles/lexical.protocol.types.location.ex => expert/protocol/convertibles/expert.protocol.types.location.ex} (71%) rename apps/protocol/lib/{lexical/protocol/convertibles/lexical.protocol.types.position.ex => expert/protocol/convertibles/expert.protocol.types.position.ex} (61%) rename apps/protocol/lib/{lexical/protocol/convertibles/lexical.protocol.types.range.ex => expert/protocol/convertibles/expert.protocol.types.range.ex} (81%) rename apps/protocol/lib/{lexical/protocol/convertibles/lexical.protocol.types.text_document.content_change_event1.ex => expert/protocol/convertibles/expert.protocol.types.text_document.content_change_event1.ex} (70%) rename apps/protocol/lib/{lexical/protocol/convertibles/lexical.protocol.types.text_edit.ex => expert/protocol/convertibles/expert.protocol.types.text_edit.ex} (78%) rename apps/protocol/lib/{lexical/protocol/document_containers/lexical.document.changes.ex => expert/protocol/document_containers/expert.document.changes.ex} (58%) rename apps/protocol/lib/{lexical/protocol/document_containers/lexical.document.location.ex => expert/protocol/document_containers/expert.document.location.ex} (72%) rename apps/protocol/lib/{lexical/protocol/document_containers/lexical.notifications.publish_diagnostics.ex => expert/protocol/document_containers/expert.notifications.publish_diagnostics.ex} (71%) rename apps/protocol/lib/{lexical/protocol/document_containers/lexical.protocol.types.location.ex => expert/protocol/document_containers/expert.protocol.types.location.ex} (59%) rename apps/protocol/lib/{lexical => expert}/protocol/id.ex (75%) rename apps/protocol/lib/{lexical => expert}/protocol/json_rpc.ex (92%) rename apps/protocol/lib/{lexical => expert}/protocol/notifications.ex (95%) rename apps/protocol/lib/{lexical => expert}/protocol/requests.ex (94%) rename apps/protocol/lib/{lexical => expert}/protocol/responses.ex (92%) rename apps/protocol/lib/generated/{lexical/protocol/types/inline_value => expert/protocol/types/call_hierarchy}/client_capabilities.ex (58%) rename apps/protocol/lib/generated/{lexical/protocol/types/declaration => expert/protocol/types/call_hierarchy}/options.ex (61%) rename apps/protocol/lib/generated/{lexical/protocol/types/folding_range => expert/protocol/types/call_hierarchy}/registration/options.ex (66%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/cancel/params.ex (61%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/change_annotation.ex (72%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/change_annotation/identifier.ex (56%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/client_capabilities.ex (81%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/code_action.ex (72%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/code_action/client_capabilities.ex (60%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/code_action/context.ex (69%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/code_action/kind.ex (85%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/code_action/options.ex (69%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/code_action/params.ex (75%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/code_action/trigger/kind.ex (56%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/code_description.ex (56%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/code_lens.ex (61%) rename apps/protocol/lib/generated/{lexical/protocol/types/moniker => expert/protocol/types/code_lens}/client_capabilities.ex (59%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/code_lens/options.ex (68%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/code_lens/params.ex (70%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/code_lens/workspace/client_capabilities.ex (55%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/command.ex (70%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/completion/client_capabilities.ex (66%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/completion/context.ex (60%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/completion/item.ex (91%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/completion/item/kind.ex (88%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/completion/item/label_details.ex (62%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/completion/item/tag.ex (55%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/completion/list.ex (65%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/completion/options.ex (69%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/completion/params.ex (76%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/completion/trigger/kind.ex (65%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/create_file.ex (71%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/create_file/options.ex (66%) rename apps/protocol/lib/generated/{lexical/protocol/types/definition => expert/protocol/types/declaration}/client_capabilities.ex (65%) rename apps/protocol/lib/generated/{lexical/protocol/types/reference => expert/protocol/types/declaration}/options.ex (61%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/declaration/registration/options.ex (64%) rename apps/protocol/lib/generated/{lexical/protocol/types/declaration => expert/protocol/types/definition}/client_capabilities.ex (64%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/definition/options.ex (61%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/definition/params.ex (72%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/delete_file.ex (71%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/delete_file/options.ex (66%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/diagnostic.ex (83%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/diagnostic/client_capabilities.ex (66%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/diagnostic/options.ex (76%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/diagnostic/registration/options.ex (74%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/diagnostic/related_information.ex (51%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/diagnostic/severity.ex (62%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/diagnostic/tag.ex (60%) rename apps/protocol/lib/generated/{lexical/protocol/types/inlay_hint_workspace => expert/protocol/types/diagnostic/workspace}/client_capabilities.ex (55%) rename apps/protocol/lib/generated/{lexical/protocol/types/document/formatting => expert/protocol/types/did_change_configuration}/client_capabilities.ex (55%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/did_change_configuration/params.ex (52%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/did_change_text_document/params.ex (64%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/did_change_watched_files/client_capabilities.ex (63%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/did_change_watched_files/params.ex create mode 100644 apps/protocol/lib/generated/expert/protocol/types/did_change_watched_files/registration/options.ex rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/did_close_text_document/params.ex (52%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/did_open_text_document/params.ex (51%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/did_save_text_document/params.ex (56%) rename apps/protocol/lib/generated/{lexical/protocol/types/call_hierarchy => expert/protocol/types/document/color}/client_capabilities.ex (60%) rename apps/protocol/lib/generated/{lexical/protocol/types/folding_range => expert/protocol/types/document/color}/options.ex (60%) rename apps/protocol/lib/generated/{lexical/protocol/types/type_hierarchy => expert/protocol/types/document/color}/registration/options.ex (66%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/document/filter.ex (60%) rename apps/protocol/lib/generated/{lexical/protocol/types/linked_editing_range => expert/protocol/types/document/formatting}/client_capabilities.ex (60%) rename apps/protocol/lib/generated/{lexical/protocol/types/document/color => expert/protocol/types/document/formatting}/options.ex (59%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/document/formatting/params.ex (66%) rename apps/protocol/lib/generated/{lexical/protocol/types/execute_command => expert/protocol/types/document/highlight}/client_capabilities.ex (56%) rename apps/protocol/lib/generated/{lexical/protocol/types/call_hierarchy => expert/protocol/types/document/highlight}/options.ex (59%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/document/link/client_capabilities.ex (64%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/document/link/options.ex (66%) rename apps/protocol/lib/generated/{lexical/protocol/types/document/range_formatting => expert/protocol/types/document/on_type_formatting}/client_capabilities.ex (61%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/document/on_type_formatting/options.ex (64%) rename apps/protocol/lib/generated/{lexical/protocol/types/did_change_configuration => expert/protocol/types/document/range_formatting}/client_capabilities.ex (55%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/document/range_formatting/options.ex rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/document/selector.ex (51%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/document/symbol.ex (79%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/document/symbol/client_capabilities.ex (61%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/document/symbol/options.ex (64%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/document/symbol/params.ex (69%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/error_codes.ex (82%) rename apps/protocol/lib/generated/{lexical/protocol/types/type_hierarchy => expert/protocol/types/execute_command}/client_capabilities.ex (60%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/execute_command/options.ex (65%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/execute_command/params.ex (65%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/execute_command/registration/options.ex (61%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/failure_handling/kind.ex (73%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/file_change_type.ex (61%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/file_event.ex (55%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/file_operation/client_capabilities.ex (80%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/file_operation/filter.ex (57%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/file_operation/options.ex (82%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/file_operation/pattern.ex (67%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/file_operation/pattern/kind.ex (57%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/file_operation/pattern/options.ex (56%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/file_operation/registration/options.ex (50%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/file_system_watcher.ex (58%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/folding_range/client_capabilities.ex (61%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/folding_range/kind.ex (64%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/folding_range/options.ex rename apps/protocol/lib/generated/{lexical/protocol/types/inline_value => expert/protocol/types/folding_range}/registration/options.ex (66%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/formatting/options.ex (79%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/general/client_capabilities.ex (69%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/glob_pattern.ex (56%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/hover.ex (70%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/hover/client_capabilities.ex (62%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/hover/options.ex (62%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/hover/params.ex (68%) rename apps/protocol/lib/generated/{lexical/protocol/types/type_definition => expert/protocol/types/implementation}/client_capabilities.ex (63%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/implementation/options.ex rename apps/protocol/lib/generated/{lexical/protocol/types/call_hierarchy => expert/protocol/types/implementation}/registration/options.ex (66%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/initialize/params.ex (79%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/initialize/result.ex (54%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/inlay_hint/client_capabilities.ex (58%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/inlay_hint/options.ex (67%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/inlay_hint/registration/options.ex (69%) rename apps/protocol/lib/generated/{lexical/protocol/types/inline_value/workspace => expert/protocol/types/inlay_hint_workspace}/client_capabilities.ex (54%) rename apps/protocol/lib/generated/{lexical/protocol/types/reference => expert/protocol/types/inline_value}/client_capabilities.ex (58%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/inline_value/options.ex create mode 100644 apps/protocol/lib/generated/expert/protocol/types/inline_value/registration/options.ex rename apps/protocol/lib/generated/{lexical/protocol/types/diagnostic => expert/protocol/types/inline_value}/workspace/client_capabilities.ex (60%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/insert_replace_edit.ex (57%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/insert_text_format.ex (59%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/insert_text_mode.ex (60%) rename apps/protocol/lib/generated/{lexical/protocol/types/document/color => expert/protocol/types/linked_editing_range}/client_capabilities.ex (56%) rename apps/protocol/lib/generated/{lexical/protocol/types/prepare_support_default_behavior.ex => expert/protocol/types/linked_editing_range/options.ex} (65%) rename apps/protocol/lib/generated/{lexical/protocol/types/document/color => expert/protocol/types/linked_editing_range}/registration/options.ex (64%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/location.ex (54%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/location/link.ex (70%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/log_message/params.ex (54%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/lsp_error_codes.ex (75%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/lsp_object.ex (55%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/markdown/client_capabilities.ex (66%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/marked_string.ex (52%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/markup/content.ex (54%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/markup/kind.ex (64%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/message/action_item.ex (56%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/message/type.ex (62%) rename apps/protocol/lib/generated/{lexical/protocol/types/code_lens => expert/protocol/types/moniker}/client_capabilities.ex (59%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/moniker/options.ex (62%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/moniker/registration/options.ex (61%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/notebook/cell/text_document/filter.ex (59%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/notebook/document/client_capabilities.ex (53%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/notebook/document/filter.ex (62%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/notebook/document/sync/client_capabilities.ex (64%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/notebook/document/sync/options.ex (56%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/notebook/document/sync/registration/options.ex (58%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/pattern.ex (65%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/position.ex (64%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/position/encoding/kind.ex (61%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/prepare_support_default_behavior.ex rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/progress/params.ex (54%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/progress/token.ex (60%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/publish_diagnostics/client_capabilities.ex (64%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/publish_diagnostics/params.ex (59%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/range.ex (56%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/reference/client_capabilities.ex rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/reference/context.ex (59%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/reference/options.ex rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/reference/params.ex (75%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/registration.ex (67%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/registration/params.ex (53%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/regular_expressions/client_capabilities.ex (57%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/relative_pattern.ex (60%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/rename/client_capabilities.ex (73%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/rename/options.ex (68%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/rename_file.ex (74%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/rename_file/options.ex (66%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/resource_operation/kind.ex (62%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/save/options.ex (62%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/selection_range/client_capabilities.ex create mode 100644 apps/protocol/lib/generated/expert/protocol/types/selection_range/options.ex create mode 100644 apps/protocol/lib/generated/expert/protocol/types/selection_range/registration/options.ex rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/semantic_tokens/client_capabilities.ex (65%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/semantic_tokens/legend.ex (65%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/semantic_tokens/options.ex (51%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/semantic_tokens/registration/options.ex (65%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/workspace/client_capabilities.ex rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/server_capabilities.ex (96%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/show_document/client_capabilities.ex (52%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/show_message/params.ex (53%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/show_message_request/client_capabilities.ex (57%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/show_message_request/params.ex (63%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/signature_help/client_capabilities.ex (64%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/signature_help/options.ex (75%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/symbol/kind.ex (90%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/symbol/tag.ex (58%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_document/client_capabilities.ex (95%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_document/content_change_event.ex (52%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_document/edit.ex (67%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_document/filter.ex (63%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_document/identifier.ex (53%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_document/item.ex (67%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_document/optional_versioned/identifier.ex (56%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_document/sync/client_capabilities.ex (73%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_document/sync/kind.ex (58%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_document/sync/options.ex (74%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_document/versioned/identifier.ex (55%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_edit.ex (55%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/text_edit/annotated.ex (61%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/token_format.ex (59%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/trace_values.ex (65%) rename apps/protocol/lib/generated/{lexical/protocol/types/implementation => expert/protocol/types/type_definition}/client_capabilities.ex (63%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/type_definition/options.ex create mode 100644 apps/protocol/lib/generated/expert/protocol/types/type_definition/registration/options.ex create mode 100644 apps/protocol/lib/generated/expert/protocol/types/type_hierarchy/client_capabilities.ex rename apps/protocol/lib/generated/{lexical/protocol/types/inline_value => expert/protocol/types/type_hierarchy}/options.ex (61%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/type_hierarchy/registration/options.ex rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/watch/kind.ex (62%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/window/client_capabilities.ex (70%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/work_done/progress/begin.ex (75%) create mode 100644 apps/protocol/lib/generated/expert/protocol/types/work_done/progress/create/params.ex rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/work_done/progress/end.ex (62%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/work_done/progress/params.ex (53%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/work_done/progress/report.ex (73%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/workspace/client_capabilities.ex (90%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/workspace/edit.ex (82%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/workspace/edit/client_capabilities.ex (69%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/workspace/folder.ex (59%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/workspace/folders_server_capabilities.ex (66%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/workspace/symbol.ex (62%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/workspace/symbol/client_capabilities.ex (54%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/workspace/symbol/options.ex (65%) rename apps/protocol/lib/generated/{lexical => expert}/protocol/types/workspace/symbol/params.ex (66%) delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/did_change_watched_files/params.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/did_change_watched_files/registration/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/document/formatting/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/document/highlight/client_capabilities.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/document/highlight/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/document/on_type_formatting/client_capabilities.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/document/range_formatting/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/implementation/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/implementation/registration/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/linked_editing_range/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/linked_editing_range/registration/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/selection_range/client_capabilities.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/selection_range/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/selection_range/registration/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/workspace/client_capabilities.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/type_definition/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/type_definition/registration/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/type_hierarchy/options.ex delete mode 100644 apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/create/params.ex rename apps/protocol/test/{lexical => expert}/proto_test.exs (98%) rename apps/protocol/test/{lexical => expert}/protocol/conversions_test.exs (93%) rename apps/protocol/test/{lexical/protocol/convertibles/lexical.document.changes_test.exs => expert/protocol/convertibles/expert.document.changes_test.exs} (91%) rename apps/protocol/test/{lexical/protocol/convertibles/lexical.document.edit_test.exs => expert/protocol/convertibles/expert.document.edit_test.exs} (94%) rename apps/protocol/test/{lexical/protocol/convertibles/lexical.document.location_test.exs => expert/protocol/convertibles/expert.document.location_test.exs} (93%) rename apps/protocol/test/{lexical/protocol/convertibles/lexical.document.position_test.exs => expert/protocol/convertibles/expert.document.position_test.exs} (94%) rename apps/protocol/test/{lexical/protocol/convertibles/lexical.document.range_test.exs => expert/protocol/convertibles/expert.document.range_test.exs} (93%) rename apps/protocol/test/{lexical/protocol/convertibles/lexical.protocol.types.location_test.exs => expert/protocol/convertibles/expert.protocol.types.location_test.exs} (96%) rename apps/protocol/test/{lexical/protocol/convertibles/lexical.protocol.types.position_test.exs => expert/protocol/convertibles/expert.protocol.types.position_test.exs} (88%) rename apps/protocol/test/{lexical/protocol/convertibles/lexical.protocol.types.range_test.exs => expert/protocol/convertibles/expert.protocol.types.range_test.exs} (95%) rename apps/protocol/test/{lexical/protocol/convertibles/lexical.protocol.types.text_document.content_change_event1_test.exs => expert/protocol/convertibles/expert.protocol.types.text_document.content_change_event1_test.exs} (73%) rename apps/protocol/test/{lexical/protocol/convertibles/lexical.protocol.types.text_edit_test.exs => expert/protocol/convertibles/expert.protocol.types.text_edit_test.exs} (94%) rename apps/protocol/test/{lexical => expert}/protocol/integration/initialize_test.exs (96%) rename apps/protocol/test/{lexical => expert}/protocol/notifications_test.exs (92%) rename apps/protocol/test/{lexical => expert}/protocol/requests_test.exs (93%) rename apps/protocol/test/{lexical => expert}/protocol/response_test.exs (89%) rename apps/protocol/test/support/{lexical => }/test/convertible_support.ex (89%) rename apps/protocol/test/support/{lexical => }/test/protocol/fixtures/lsp_protocol.ex (99%) delete mode 100644 apps/remote_control/lib/lexical/remote_control/application.ex delete mode 100644 apps/remote_control/test/lexical/remote_control/dispatch/handlers/indexing_test.exs delete mode 100644 apps/server/README.md delete mode 100644 apps/server/lib/lexical/server/code_intelligence/completion/translations/typespec.ex delete mode 100644 apps/server/test/support/transport/no_op.ex rename nix/{lexical.nix => expert.nix} (74%) diff --git a/.credo.exs b/.credo.exs index b21d62c4..db7fda8a 100644 --- a/.credo.exs +++ b/.credo.exs @@ -4,7 +4,7 @@ name: "default", files: %{ included: ["lib/", "src/", "web/", "apps/"], - excluded: ["apps/remote_control/test/fixtures/**/*.ex", "apps/common/lib/future/**/*.ex"] + excluded: ["apps/engine/test/fixtures/**/*.ex", "apps/forge/lib/future/**/*.ex"] }, plugins: [], requires: [], diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml index b1ac5ebc..46498b49 100644 --- a/.github/workflows/elixir.yml +++ b/.github/workflows/elixir.yml @@ -114,10 +114,10 @@ jobs: uses: actions/cache@v3 with: path: "priv/plts" - key: lexical-plts-2-${{ env.DEFAULT_OTP }}-${{ env.DEFAULT_ELIXIR }}-${{ hashFiles('apps/**/mix.lock' ) }}-${{ github.run_id }} + key: expert-plts-2-${{ env.DEFAULT_OTP }}-${{ env.DEFAULT_ELIXIR }}-${{ hashFiles('apps/**/mix.lock' ) }}-${{ github.run_id }} restore-keys: | - lexical-plts-2-${{ env.DEFAULT_OTP }}-${{ env.DEFAULT_ELIXIR }}-${{ hashFiles('apps/**/mix.lock') }}- - lexical-plts-2-${{ env.DEFAULT_OTP }}-${{ env.DEFAULT_ELIXIR }}- + expert-plts-2-${{ env.DEFAULT_OTP }}-${{ env.DEFAULT_ELIXIR }}-${{ hashFiles('apps/**/mix.lock') }}- + expert-plts-2-${{ env.DEFAULT_OTP }}-${{ env.DEFAULT_ELIXIR }}- # Step: Download project dependencies. If unchanged, uses # the cached version. @@ -215,7 +215,7 @@ jobs: with: context: . file: ./integration/Dockerfile - tags: lx + tags: xp # GitHub Actions cache # https://docs.docker.com/build/ci/github-actions/cache/ cache-from: type=gha diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5622543b..e714ab11 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: Release Lexical +name: Release Expert on: push: @@ -7,7 +7,7 @@ on: jobs: release: runs-on: ubuntu-latest - name: Build and release Lexical + name: Build and release Expert permissions: contents: write steps: @@ -43,12 +43,12 @@ jobs: - name: Archive release run: | - cp lexical.zip lexical-${{ github.ref_name }}.zip + cp expert.zip expert-${{ github.ref_name }}.zip - name: Publish release uses: ncipollo/release-action@v1 with: - artifacts: lexical*.zip + artifacts: expert*.zip makeLatest: true generateReleaseNotes: false allowUpdates: true diff --git a/.gitignore b/.gitignore index 1ab6d514..48992149 100644 --- a/.gitignore +++ b/.gitignore @@ -22,10 +22,10 @@ erl_crash.dump # Temporary files, for example, from tests. /tmp/ -lexical.log +expert.log -lexical_debug +expert_debug priv/plts -apps/common/src/future_elixir_parser.erl +apps/forge/src/future_elixir_parser.erl diff --git a/.iex.exs b/.iex.exs index ba228cdf..9776e5b0 100644 --- a/.iex.exs +++ b/.iex.exs @@ -1,4 +1,4 @@ -use Lexical.Server.IEx.Helpers +use Expert.IEx.Helpers try do Mix.ensure_application!(:observer) diff --git a/.iex.namespaced.exs b/.iex.namespaced.exs index 0cc651b5..0ebb2069 100644 --- a/.iex.namespaced.exs +++ b/.iex.namespaced.exs @@ -1,2 +1,2 @@ -use LXical.Server.IEx.Helpers -alias LXical, as: Lexical +use XPert.Server.IEx.Helpers +alias XPert, as: EXpert diff --git a/Makefile b/Makefile index 567b6a8d..6521363d 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -poncho_dirs = common lexical_credo proto protocol remote_control server +poncho_dirs = forge expert_credo proto protocol engine expert compile.all: compile.poncho diff --git a/README.md b/README.md index eb22d221..42820261 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ Lexical logo: Lexi the lynx -# Lexical +# Expert -Lexical is a next-generation language server for the Elixir programming language. +Expert is a next-generation language server for the Elixir programming language.


@@ -154,7 +154,7 @@ language server. This allows you to investigate processes, make changes to the running code, or run `:observer`. While in the debugging shell, all the functions in -`Lexical.Server.IEx.Helpers` are imported for you, and some common +`Expert.IEx.Helpers` are imported for you, and some common modules, like `Lexical.Project` and `Lexical.Document` are aliased. diff --git a/apps/common/lib/lexical.ex b/apps/common/lib/lexical.ex deleted file mode 100644 index 44382a7d..00000000 --- a/apps/common/lib/lexical.ex +++ /dev/null @@ -1,21 +0,0 @@ -defmodule Lexical do - @moduledoc """ - Common data structures and utilities for the Lexical Language Server. - - If you're building a plugin, You're probably going to want to look at the documentation - for core data structures like - - `Lexical.Project` - The lexical project structure - - `Lexical.Document` - A text document, given to you by the language server - - `Lexical.Document.Position` - A position inside a document - - `Lexical.Document.Range` - A range of text inside a document - """ - @typedoc "A string representation of a uri" - @type uri :: String.t() - - @typedoc "A string representation of a path on the filesystem" - @type path :: String.t() -end diff --git a/apps/common/lib/lexical/ast/detection/import.ex b/apps/common/lib/lexical/ast/detection/import.ex deleted file mode 100644 index 18150002..00000000 --- a/apps/common/lib/lexical/ast/detection/import.ex +++ /dev/null @@ -1,13 +0,0 @@ -defmodule Lexical.Ast.Detection.Import do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Ast.Detection.Directive - alias Lexical.Document.Position - - use Detection - - @impl Detection - def detected?(%Analysis{} = analysis, %Position{} = position) do - Directive.detected?(analysis, position, ~c"import") - end -end diff --git a/apps/common/lib/lexical/ast/detection/require.ex b/apps/common/lib/lexical/ast/detection/require.ex deleted file mode 100644 index fa07d47c..00000000 --- a/apps/common/lib/lexical/ast/detection/require.ex +++ /dev/null @@ -1,13 +0,0 @@ -defmodule Lexical.Ast.Detection.Require do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Ast.Detection.Directive - alias Lexical.Document.Position - - use Detection - - @impl Detection - def detected?(%Analysis{} = analysis, %Position{} = position) do - Directive.detected?(analysis, position, ~c"require") - end -end diff --git a/apps/common/lib/lexical/ast/detection/struct_field_value.ex b/apps/common/lib/lexical/ast/detection/struct_field_value.ex deleted file mode 100644 index b7562f0a..00000000 --- a/apps/common/lib/lexical/ast/detection/struct_field_value.ex +++ /dev/null @@ -1,11 +0,0 @@ -defmodule Lexical.Ast.Detection.StructFieldValue do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection.StructFieldKey - alias Lexical.Ast.Detection.StructFields - alias Lexical.Document.Position - - def detected?(%Analysis{} = analysis, %Position{} = position) do - StructFields.detected?(analysis, position) and - not StructFieldKey.detected?(analysis, position) - end -end diff --git a/apps/common/lib/lexical/ast/detection/use.ex b/apps/common/lib/lexical/ast/detection/use.ex deleted file mode 100644 index 2115dcf8..00000000 --- a/apps/common/lib/lexical/ast/detection/use.ex +++ /dev/null @@ -1,13 +0,0 @@ -defmodule Lexical.Ast.Detection.Use do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Ast.Detection.Directive - alias Lexical.Document.Position - - use Detection - - @impl Detection - def detected?(%Analysis{} = analysis, %Position{} = position) do - Directive.detected?(analysis, position, ~c"use") - end -end diff --git a/apps/common/test/lexical/ast/detection/alias_test.exs b/apps/common/test/lexical/ast/detection/alias_test.exs deleted file mode 100644 index 43c93ccf..00000000 --- a/apps/common/test/lexical/ast/detection/alias_test.exs +++ /dev/null @@ -1,7 +0,0 @@ -defmodule Lexical.Ast.Detection.AliasTest do - alias Lexical.Ast.Detection - - use Lexical.Test.DetectionCase, - for: Detection.Alias, - assertions: [[:alias, :*]] -end diff --git a/apps/common/test/lexical/ast/detection/bitstring_test.exs b/apps/common/test/lexical/ast/detection/bitstring_test.exs deleted file mode 100644 index 4ac1ee53..00000000 --- a/apps/common/test/lexical/ast/detection/bitstring_test.exs +++ /dev/null @@ -1,6 +0,0 @@ -defmodule Lexical.Ast.Detection.BitstringTest do - use Lexical.Test.DetectionCase, - for: Lexical.Ast.Detection.Bitstring, - assertions: [[:bitstring, :*]], - variations: [:match, :function_arguments, :function_body] -end diff --git a/apps/common/test/lexical/ast/detection/comment_test.exs b/apps/common/test/lexical/ast/detection/comment_test.exs deleted file mode 100644 index acc11b36..00000000 --- a/apps/common/test/lexical/ast/detection/comment_test.exs +++ /dev/null @@ -1,7 +0,0 @@ -defmodule Lexical.Ast.Detection.CommentTest do - alias Lexical.Ast.Detection - - use Lexical.Test.DetectionCase, - for: Detection.Comment, - assertions: [[:comment, :*]] -end diff --git a/apps/common/test/lexical/ast/detection/require_test.exs b/apps/common/test/lexical/ast/detection/require_test.exs deleted file mode 100644 index f57d81d9..00000000 --- a/apps/common/test/lexical/ast/detection/require_test.exs +++ /dev/null @@ -1,7 +0,0 @@ -defmodule Lexical.Ast.Detection.RequireTest do - alias Lexical.Ast.Detection - - use Lexical.Test.DetectionCase, - for: Detection.Require, - assertions: [[:require, :*]] -end diff --git a/apps/common/test/lexical/ast/detection/spec_test.exs b/apps/common/test/lexical/ast/detection/spec_test.exs deleted file mode 100644 index 3222a086..00000000 --- a/apps/common/test/lexical/ast/detection/spec_test.exs +++ /dev/null @@ -1,7 +0,0 @@ -defmodule Lexical.Ast.Detection.SpecTest do - alias Lexical.Ast.Detection - - use Lexical.Test.DetectionCase, - for: Detection.Spec, - assertions: [[:spec, :*]] -end diff --git a/apps/common/test/lexical/ast/detection/use_test.exs b/apps/common/test/lexical/ast/detection/use_test.exs deleted file mode 100644 index 4dd0ec3d..00000000 --- a/apps/common/test/lexical/ast/detection/use_test.exs +++ /dev/null @@ -1,7 +0,0 @@ -defmodule Lexical.Ast.Detection.UseTest do - alias Lexical.Ast.Detection - - use Lexical.Test.DetectionCase, - for: Detection.Use, - assertions: [[:use, :*]] -end diff --git a/apps/remote_control/.credo.exs b/apps/engine/.credo.exs similarity index 100% rename from apps/remote_control/.credo.exs rename to apps/engine/.credo.exs diff --git a/apps/remote_control/.formatter.exs b/apps/engine/.formatter.exs similarity index 97% rename from apps/remote_control/.formatter.exs rename to apps/engine/.formatter.exs index 5427d1aa..b5eb9eee 100644 --- a/apps/remote_control/.formatter.exs +++ b/apps/engine/.formatter.exs @@ -1,7 +1,7 @@ # Used by "mix format" current_directory = Path.dirname(__ENV__.file) -import_deps = [:common] +import_deps = [:forge] impossible_to_format = [ Path.join([ diff --git a/apps/common/.gitignore b/apps/engine/.gitignore similarity index 97% rename from apps/common/.gitignore rename to apps/engine/.gitignore index d3a0cc38..487459f8 100644 --- a/apps/common/.gitignore +++ b/apps/engine/.gitignore @@ -20,7 +20,7 @@ erl_crash.dump *.ez # Ignore package tarball (built via "mix hex.build"). -common-*.tar +engine-*.tar # Temporary files, for example, from tests. /tmp/ diff --git a/apps/remote_control/README.md b/apps/engine/README.md similarity index 82% rename from apps/remote_control/README.md rename to apps/engine/README.md index 97f8cc8c..e756dbf7 100644 --- a/apps/remote_control/README.md +++ b/apps/engine/README.md @@ -1,3 +1,3 @@ -# Lexical.RemoteControl +# Engine An application that is injected into the project's virtual machine to provide support for the language server diff --git a/apps/remote_control/benchmarks/ast_analyze.exs b/apps/engine/benchmarks/ast_analyze.exs similarity index 87% rename from apps/remote_control/benchmarks/ast_analyze.exs rename to apps/engine/benchmarks/ast_analyze.exs index 95511ee2..362f2207 100644 --- a/apps/remote_control/benchmarks/ast_analyze.exs +++ b/apps/engine/benchmarks/ast_analyze.exs @@ -1,5 +1,5 @@ -alias Lexical.Ast -alias Lexical.Document +alias Forge.Ast +alias Forge.Document path = [__DIR__, "**", "enum.ex"] diff --git a/apps/remote_control/benchmarks/data/enum.ex b/apps/engine/benchmarks/data/enum.ex similarity index 100% rename from apps/remote_control/benchmarks/data/enum.ex rename to apps/engine/benchmarks/data/enum.ex diff --git a/apps/remote_control/benchmarks/data/source.index.v1.ets b/apps/engine/benchmarks/data/source.index.v1.ets similarity index 100% rename from apps/remote_control/benchmarks/data/source.index.v1.ets rename to apps/engine/benchmarks/data/source.index.v1.ets diff --git a/apps/remote_control/benchmarks/enum_index.exs b/apps/engine/benchmarks/enum_index.exs similarity index 85% rename from apps/remote_control/benchmarks/enum_index.exs rename to apps/engine/benchmarks/enum_index.exs index 6f55b57d..c00f9ee9 100644 --- a/apps/remote_control/benchmarks/enum_index.exs +++ b/apps/engine/benchmarks/enum_index.exs @@ -1,4 +1,4 @@ -alias Lexical.RemoteControl.Search.Indexer +alias Engine.Search.Indexer path = [__DIR__, "**", "enum.ex"] diff --git a/apps/remote_control/benchmarks/ets_bench.exs b/apps/engine/benchmarks/ets_bench.exs similarity index 85% rename from apps/remote_control/benchmarks/ets_bench.exs rename to apps/engine/benchmarks/ets_bench.exs index fd35aab5..0e3452fe 100644 --- a/apps/remote_control/benchmarks/ets_bench.exs +++ b/apps/engine/benchmarks/ets_bench.exs @@ -1,9 +1,9 @@ -alias Lexical.Project -alias Lexical.RemoteControl -alias Lexical.RemoteControl.Search.Store.Backends.Ets -alias Lexical.RemoteControl.Search.Store.Backends.Ets.Schema -alias Lexical.RemoteControl.Search.Store.Backends.Ets.Schemas -alias Lexical.VM.Versions +alias Forge.Project +alias Engine +alias Engine.Search.Store.Backends.Ets +alias Engine.Search.Store.Backends.Ets.Schema +alias Engine.Search.Store.Backends.Ets.Schemas +alias Forge.VM.Versions defmodule BenchHelper do def wait_for_registration do @@ -35,7 +35,7 @@ end cwd = __DIR__ project = Project.new("file://#{cwd}") -RemoteControl.set_project(project) +Engine.set_project(project) Project.ensure_workspace(project) versions = Versions.current() diff --git a/apps/remote_control/benchmarks/versions_bench.exs b/apps/engine/benchmarks/versions_bench.exs similarity index 88% rename from apps/remote_control/benchmarks/versions_bench.exs rename to apps/engine/benchmarks/versions_bench.exs index 269441c5..6b1dfcb1 100644 --- a/apps/remote_control/benchmarks/versions_bench.exs +++ b/apps/engine/benchmarks/versions_bench.exs @@ -1,4 +1,4 @@ -alias Lexical.VM.Versions +alias Forge.VM.Versions Benchee.run(%{ "versions" => fn -> diff --git a/apps/remote_control/config/config.exs b/apps/engine/config/config.exs similarity index 100% rename from apps/remote_control/config/config.exs rename to apps/engine/config/config.exs diff --git a/apps/remote_control/config/dev.exs b/apps/engine/config/dev.exs similarity index 100% rename from apps/remote_control/config/dev.exs rename to apps/engine/config/dev.exs diff --git a/apps/remote_control/config/prod.exs b/apps/engine/config/prod.exs similarity index 100% rename from apps/remote_control/config/prod.exs rename to apps/engine/config/prod.exs diff --git a/apps/remote_control/config/test.exs b/apps/engine/config/test.exs similarity index 88% rename from apps/remote_control/config/test.exs rename to apps/engine/config/test.exs index 0dfb9734..a30e8851 100644 --- a/apps/remote_control/config/test.exs +++ b/apps/engine/config/test.exs @@ -2,7 +2,7 @@ import Config config :logger, level: :none -config :remote_control, +config :engine, edit_window_millis: 10, modules_cache_expiry: {50, :millisecond}, search_store_quiescent_period_ms: 10 diff --git a/apps/remote_control/lib/lexical/remote_control.ex b/apps/engine/lib/engine/engine.ex similarity index 88% rename from apps/remote_control/lib/lexical/remote_control.ex rename to apps/engine/lib/engine/engine.ex index 01af7517..f5219892 100644 --- a/apps/remote_control/lib/lexical/remote_control.ex +++ b/apps/engine/lib/engine/engine.ex @@ -1,21 +1,21 @@ -defmodule Lexical.RemoteControl do +defmodule Engine do @moduledoc """ The remote control boots another elixir application in a separate VM, injects the remote control application into it and allows the language server to execute tasks in the context of the remote VM. """ - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api.Proxy - alias Lexical.RemoteControl.CodeAction - alias Lexical.RemoteControl.CodeIntelligence - alias Lexical.RemoteControl.ProjectNode + alias Forge.Project + alias Engine + alias Engine.Api.Proxy + alias Engine.CodeAction + alias Engine.CodeIntelligence + alias Engine.ProjectNode require Logger @excluded_apps [:patch, :nimble_parsec] - @allowed_apps [:remote_control | Mix.Project.deps_apps()] -- @excluded_apps + @allowed_apps [:engine | Mix.Project.deps_apps()] -- @excluded_apps defdelegate schedule_compile(force?), to: Proxy @@ -29,7 +29,7 @@ defmodule Lexical.RemoteControl do defdelegate broadcast(message), to: Proxy - defdelegate expand_alias(segments_or_module, analysis, position), to: RemoteControl.Analyzer + defdelegate expand_alias(segments_or_module, analysis, position), to: Engine.Analyzer defdelegate list_modules, to: :code, as: :all_available @@ -37,10 +37,10 @@ defmodule Lexical.RemoteControl do to: CodeAction, as: :for_range - defdelegate complete(env), to: RemoteControl.Completion, as: :elixir_sense_expand + defdelegate complete(env), to: Engine.Completion, as: :elixir_sense_expand defdelegate complete_struct_fields(analysis, position), - to: RemoteControl.Completion, + to: Engine.Completion, as: :struct_fields defdelegate definition(document, position), to: CodeIntelligence.Definition @@ -48,13 +48,13 @@ defmodule Lexical.RemoteControl do defdelegate references(analysis, position, include_definitions?), to: CodeIntelligence.References - defdelegate modules_with_prefix(prefix), to: RemoteControl.Modules, as: :with_prefix + defdelegate modules_with_prefix(prefix), to: Engine.Modules, as: :with_prefix - defdelegate modules_with_prefix(prefix, predicate), to: RemoteControl.Modules, as: :with_prefix + defdelegate modules_with_prefix(prefix, predicate), to: Engine.Modules, as: :with_prefix defdelegate docs(module, opts \\ []), to: CodeIntelligence.Docs, as: :for_module - defdelegate register_listener(listener_pid, message_types), to: RemoteControl.Dispatch + defdelegate register_listener(listener_pid, message_types), to: Engine.Dispatch defdelegate resolve_entity(analysis, position), to: CodeIntelligence.Entity, as: :resolve @@ -81,7 +81,7 @@ defmodule Lexical.RemoteControl do case :persistent_term.get({__MODULE__, :deps_paths}, :error) do :error -> {:ok, deps_paths} = - RemoteControl.Mix.in_project(fn _ -> + Engine.Mix.in_project(fn _ -> Mix.Task.run("loadpaths") Mix.Project.deps_paths() end) @@ -190,7 +190,7 @@ defmodule Lexical.RemoteControl do end end - # We launch lexical by asking the version managers to provide an environment, + # We launch expert by asking the version managers to provide an environment, # which contains path munging. This initial environment is present in the running # VM, and needs to be undone so we can find the correct elixir executable in the project. defp reset_env("asdf", _root_path) do diff --git a/apps/remote_control/lib/lexical/remote_control/analyzer.ex b/apps/engine/lib/engine/engine/analyzer.ex similarity index 92% rename from apps/remote_control/lib/lexical/remote_control/analyzer.ex rename to apps/engine/lib/engine/engine/analyzer.ex index 872c8171..785ce7a1 100644 --- a/apps/remote_control/lib/lexical/remote_control/analyzer.ex +++ b/apps/engine/lib/engine/engine/analyzer.ex @@ -1,13 +1,13 @@ -defmodule Lexical.RemoteControl.Analyzer do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Ast.Analysis.Require - alias Lexical.Ast.Analysis.Use - alias Lexical.Document.Position - alias Lexical.RemoteControl.Analyzer.Aliases - alias Lexical.RemoteControl.Analyzer.Imports - alias Lexical.RemoteControl.Analyzer.Requires - alias Lexical.RemoteControl.Analyzer.Uses +defmodule Engine.Analyzer do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Ast.Analysis.Require + alias Forge.Ast.Analysis.Use + alias Forge.Document.Position + alias Engine.Analyzer.Aliases + alias Engine.Analyzer.Imports + alias Engine.Analyzer.Requires + alias Engine.Analyzer.Uses require Logger @@ -114,7 +114,7 @@ defmodule Lexical.RemoteControl.Analyzer do ) :: {:ok, module()} | :error def expand_alias([_ | _] = segments, %Analysis{} = analysis, %Position{} = position) do - with %Analysis{valid?: true} = analysis <- Lexical.Ast.reanalyze_to(analysis, position), + with %Analysis{valid?: true} = analysis <- Forge.Ast.reanalyze_to(analysis, position), aliases <- aliases_at(analysis, position), {:ok, resolved} <- resolve_alias(segments, aliases) do {:ok, Module.concat(resolved)} diff --git a/apps/remote_control/lib/lexical/remote_control/analyzer/aliases.ex b/apps/engine/lib/engine/engine/analyzer/aliases.ex similarity index 88% rename from apps/remote_control/lib/lexical/remote_control/analyzer/aliases.ex rename to apps/engine/lib/engine/engine/analyzer/aliases.ex index 39987779..42636336 100644 --- a/apps/remote_control/lib/lexical/remote_control/analyzer/aliases.ex +++ b/apps/engine/lib/engine/engine/analyzer/aliases.ex @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Analyzer.Aliases do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Analysis.Alias - alias Lexical.Ast.Analysis.Scope - alias Lexical.Document.Position +defmodule Engine.Analyzer.Aliases do + alias Forge.Ast.Analysis + alias Forge.Ast.Analysis.Alias + alias Forge.Ast.Analysis.Scope + alias Forge.Document.Position @spec at(Analysis.t(), Position.t()) :: %{atom() => module()} def at(%Analysis{} = analysis, %Position{} = position) do diff --git a/apps/remote_control/lib/lexical/remote_control/analyzer/imports.ex b/apps/engine/lib/engine/engine/analyzer/imports.ex similarity index 92% rename from apps/remote_control/lib/lexical/remote_control/analyzer/imports.ex rename to apps/engine/lib/engine/engine/analyzer/imports.ex index 77a1bb00..f3389951 100644 --- a/apps/remote_control/lib/lexical/remote_control/analyzer/imports.ex +++ b/apps/engine/lib/engine/engine/analyzer/imports.ex @@ -1,12 +1,12 @@ -defmodule Lexical.RemoteControl.Analyzer.Imports do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Analysis.Import - alias Lexical.Ast.Analysis.Scope - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.ProcessCache - alias Lexical.RemoteControl.Analyzer.Aliases - alias Lexical.RemoteControl.Module.Loader +defmodule Engine.Analyzer.Imports do + alias Forge.Ast.Analysis + alias Forge.Ast.Analysis.Import + alias Forge.Ast.Analysis.Scope + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.ProcessCache + alias Engine.Analyzer.Aliases + alias Engine.Module.Loader @spec at(Analysis.t(), Position.t()) :: [Scope.import_mfa()] def at(%Analysis{} = analysis, %Position{} = position) do diff --git a/apps/remote_control/lib/lexical/remote_control/analyzer/requires.ex b/apps/engine/lib/engine/engine/analyzer/requires.ex similarity index 73% rename from apps/remote_control/lib/lexical/remote_control/analyzer/requires.ex rename to apps/engine/lib/engine/engine/analyzer/requires.ex index 2faebdf7..2f6fe9fb 100644 --- a/apps/remote_control/lib/lexical/remote_control/analyzer/requires.ex +++ b/apps/engine/lib/engine/engine/analyzer/requires.ex @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Analyzer.Requires do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Analysis.Require - alias Lexical.Ast.Analysis.Scope - alias Lexical.Document.Position +defmodule Engine.Analyzer.Requires do + alias Forge.Ast.Analysis + alias Forge.Ast.Analysis.Require + alias Forge.Ast.Analysis.Scope + alias Forge.Document.Position def at(%Analysis{} = analysis, %Position{} = position) do case Analysis.scopes_at(analysis, position) do diff --git a/apps/remote_control/lib/lexical/remote_control/analyzer/uses.ex b/apps/engine/lib/engine/engine/analyzer/uses.ex similarity index 75% rename from apps/remote_control/lib/lexical/remote_control/analyzer/uses.ex rename to apps/engine/lib/engine/engine/analyzer/uses.ex index c0921e65..b21db05a 100644 --- a/apps/remote_control/lib/lexical/remote_control/analyzer/uses.ex +++ b/apps/engine/lib/engine/engine/analyzer/uses.ex @@ -1,7 +1,7 @@ -defmodule Lexical.RemoteControl.Analyzer.Uses do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Analysis.Scope - alias Lexical.Document.Position +defmodule Engine.Analyzer.Uses do + alias Forge.Ast.Analysis + alias Forge.Ast.Analysis.Scope + alias Forge.Document.Position def at(%Analysis{} = analysis, %Position{} = position) do case Analysis.scopes_at(analysis, position) do diff --git a/apps/remote_control/lib/lexical/remote_control/api.ex b/apps/engine/lib/engine/engine/api.ex similarity index 57% rename from apps/remote_control/lib/lexical/remote_control/api.ex rename to apps/engine/lib/engine/engine/api.ex index c995646a..be6d5205 100644 --- a/apps/remote_control/lib/lexical/remote_control/api.ex +++ b/apps/engine/lib/engine/engine/api.ex @@ -1,21 +1,21 @@ -defmodule Lexical.RemoteControl.Api do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Env - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.CodeIntelligence +defmodule Engine.Api do + alias Forge.Ast.Analysis + alias Forge.Ast.Env + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.Project + alias Engine + alias Engine.CodeIntelligence require Logger def schedule_compile(%Project{} = project, force?) do - RemoteControl.call(project, RemoteControl, :schedule_compile, [force?]) + Engine.call(project, Engine, :schedule_compile, [force?]) end def compile_document(%Project{} = project, %Document{} = document) do - RemoteControl.call(project, RemoteControl, :compile_document, [document]) + Engine.call(project, Engine, :compile_document, [document]) end def expand_alias( @@ -24,7 +24,7 @@ defmodule Lexical.RemoteControl.Api do %Analysis{} = analysis, %Position{} = position ) do - RemoteControl.call(project, RemoteControl, :expand_alias, [ + Engine.call(project, Engine, :expand_alias, [ segments_or_module, analysis, position @@ -32,11 +32,11 @@ defmodule Lexical.RemoteControl.Api do end def list_modules(%Project{} = project) do - RemoteControl.call(project, RemoteControl, :list_modules) + Engine.call(project, Engine, :list_modules) end def format(%Project{} = project, %Document{} = document) do - RemoteControl.call(project, RemoteControl, :format, [document]) + Engine.call(project, Engine, :format, [document]) end def code_actions( @@ -47,7 +47,7 @@ defmodule Lexical.RemoteControl.Api do kinds, trigger_kind ) do - RemoteControl.call(project, RemoteControl, :code_actions, [ + Engine.call(project, Engine, :code_actions, [ document, range, diagnostics, @@ -58,18 +58,18 @@ defmodule Lexical.RemoteControl.Api do def complete(%Project{} = project, %Env{} = env) do Logger.info("Completion for #{inspect(env.position)}") - RemoteControl.call(project, RemoteControl, :complete, [env]) + Engine.call(project, Engine, :complete, [env]) end def complete_struct_fields(%Project{} = project, %Analysis{} = analysis, %Position{} = position) do - RemoteControl.call(project, RemoteControl, :complete_struct_fields, [ + Engine.call(project, Engine, :complete_struct_fields, [ analysis, position ]) end def definition(%Project{} = project, %Document{} = document, %Position{} = position) do - RemoteControl.call(project, RemoteControl, :definition, [document, position]) + Engine.call(project, Engine, :definition, [document, position]) end def references( @@ -78,7 +78,7 @@ defmodule Lexical.RemoteControl.Api do %Position{} = position, include_definitions? ) do - RemoteControl.call(project, RemoteControl, :references, [ + Engine.call(project, Engine, :references, [ analysis, position, include_definitions? @@ -87,52 +87,52 @@ defmodule Lexical.RemoteControl.Api do def modules_with_prefix(%Project{} = project, prefix) when is_binary(prefix) or is_atom(prefix) do - RemoteControl.call(project, RemoteControl, :modules_with_prefix, [prefix]) + Engine.call(project, Engine, :modules_with_prefix, [prefix]) end def modules_with_prefix(%Project{} = project, prefix, predicate) when is_binary(prefix) or is_atom(prefix) do - RemoteControl.call(project, RemoteControl, :modules_with_prefix, [prefix, predicate]) + Engine.call(project, Engine, :modules_with_prefix, [prefix, predicate]) end @spec docs(Project.t(), module()) :: {:ok, CodeIntelligence.Docs.t()} | {:error, any()} def docs(%Project{} = project, module, opts \\ []) when is_atom(module) do - RemoteControl.call(project, RemoteControl, :docs, [module, opts]) + Engine.call(project, Engine, :docs, [module, opts]) end def register_listener(%Project{} = project, listener_pid, message_types) when is_pid(listener_pid) and is_list(message_types) do - RemoteControl.call(project, RemoteControl, :register_listener, [ + Engine.call(project, Engine, :register_listener, [ listener_pid, message_types ]) end def broadcast(%Project{} = project, message) do - RemoteControl.call(project, RemoteControl, :broadcast, [message]) + Engine.call(project, Engine, :broadcast, [message]) end def reindex(%Project{} = project) do - RemoteControl.call(project, RemoteControl, :reindex, []) + Engine.call(project, Engine, :reindex, []) end def index_running?(%Project{} = project) do - RemoteControl.call(project, RemoteControl, :index_running?, []) + Engine.call(project, Engine, :index_running?, []) end def resolve_entity(%Project{} = project, %Analysis{} = analysis, %Position{} = position) do - RemoteControl.call(project, RemoteControl, :resolve_entity, [analysis, position]) + Engine.call(project, Engine, :resolve_entity, [analysis, position]) end def struct_definitions(%Project{} = project) do - RemoteControl.call(project, RemoteControl, :struct_definitions, []) + Engine.call(project, Engine, :struct_definitions, []) end def document_symbols(%Project{} = project, %Document{} = document) do - RemoteControl.call(project, RemoteControl, :document_symbols, [document]) + Engine.call(project, Engine, :document_symbols, [document]) end def workspace_symbols(%Project{} = project, query) do - RemoteControl.call(project, RemoteControl, :workspace_symbols, [query]) + Engine.call(project, Engine, :workspace_symbols, [query]) end end diff --git a/apps/remote_control/lib/lexical/remote_control/api/messages.ex b/apps/engine/lib/engine/engine/api/messages.ex similarity index 85% rename from apps/remote_control/lib/lexical/remote_control/api/messages.ex rename to apps/engine/lib/engine/engine/api/messages.ex index fa1baaad..49afdada 100644 --- a/apps/remote_control/lib/lexical/remote_control/api/messages.ex +++ b/apps/engine/lib/engine/engine/api/messages.ex @@ -1,5 +1,5 @@ -defmodule Lexical.RemoteControl.Api.Messages do - alias Lexical.Project +defmodule Engine.Api.Messages do + alias Forge.Project import Record defrecord :project_compile_requested, project: nil, build_number: 0 @@ -53,12 +53,12 @@ defmodule Lexical.RemoteControl.Api.Messages do @type project_compile_requested :: record(:project_compile_requested, - project: Lexical.Project.t(), + project: Forge.Project.t(), build_number: non_neg_integer() ) @type project_compiled :: record(:project_compiled, - project: Lexical.Project.t(), + project: Forge.Project.t(), build_number: non_neg_integer(), status: compile_status, elapsed_ms: non_neg_integer @@ -67,13 +67,13 @@ defmodule Lexical.RemoteControl.Api.Messages do @type filesystem_event :: record(:filesystem_event, project: Project.t(), - uri: Lexical.uri(), + uri: Forge.uri(), event_type: :created | :updated | :deleted ) @type file_changed :: record(:file_changed, - uri: Lexical.uri(), + uri: Forge.uri(), from_version: maybe_version, to_version: maybe_version, open?: boolean() @@ -81,16 +81,16 @@ defmodule Lexical.RemoteControl.Api.Messages do @type file_compile_requested :: record(:file_compile_requested, - project: Lexical.Project.t(), + project: Forge.Project.t(), build_number: non_neg_integer(), - uri: Lexical.uri() + uri: Forge.uri() ) @type file_compiled :: record(:file_compiled, - project: Lexical.Project.t(), + project: Forge.Project.t(), build_number: non_neg_integer(), - uri: Lexical.uri(), + uri: Forge.uri(), status: compile_status, elapsed_ms: non_neg_integer ) @@ -105,14 +105,14 @@ defmodule Lexical.RemoteControl.Api.Messages do @type project_diagnostics :: record(:project_diagnostics, - project: Lexical.Project.t(), + project: Forge.Project.t(), diagnostics: diagnostics() ) @type file_diagnostics :: record(:file_diagnostics, - project: Lexical.Project.t(), - uri: Lexical.uri(), + project: Forge.Project.t(), + uri: Forge.uri(), diagnostics: diagnostics() ) @@ -125,14 +125,14 @@ defmodule Lexical.RemoteControl.Api.Messages do @type struct_discovered :: record(:struct_discovered, module: module(), fields: field_list()) - @type project_index_ready :: record(:project_index_ready, project: Lexical.Project.t()) + @type project_index_ready :: record(:project_index_ready, project: Forge.Project.t()) @type project_reindex_requested :: - record(:project_reindex_requested, project: Lexical.Project.t()) + record(:project_reindex_requested, project: Forge.Project.t()) @type project_reindexed :: record(:project_reindexed, - project: Lexical.Project.t(), + project: Forge.Project.t(), elapsed_ms: non_neg_integer(), status: :success | {:error, term()} ) diff --git a/apps/remote_control/lib/lexical/remote_control/api/proxy.ex b/apps/engine/lib/engine/engine/api/proxy.ex similarity index 90% rename from apps/remote_control/lib/lexical/remote_control/api/proxy.ex rename to apps/engine/lib/engine/engine/api/proxy.ex index 790af722..3b4804e7 100644 --- a/apps/remote_control/lib/lexical/remote_control/api/proxy.ex +++ b/apps/engine/lib/engine/engine/api/proxy.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Api.Proxy do +defmodule Engine.Api.Proxy do @moduledoc """ A bimodal buffering proxy @@ -30,16 +30,16 @@ defmodule Lexical.RemoteControl.Api.Proxy do """ - alias Lexical.Document - alias Lexical.Document.Changes - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api.Messages - alias Lexical.RemoteControl.Api.Proxy.BufferingState - alias Lexical.RemoteControl.Api.Proxy.DrainingState - alias Lexical.RemoteControl.Api.Proxy.ProxyingState - alias Lexical.RemoteControl.Api.Proxy.Records - alias Lexical.RemoteControl.CodeMod - alias Lexical.RemoteControl.Commands + alias Forge.Document + alias Forge.Document.Changes + alias Engine + alias Engine.Api.Messages + alias Engine.Api.Proxy.BufferingState + alias Engine.Api.Proxy.DrainingState + alias Engine.Api.Proxy.ProxyingState + alias Engine.Api.Proxy.Records + alias Engine.CodeMod + alias Engine.Commands import Messages import Record @@ -63,25 +63,25 @@ defmodule Lexical.RemoteControl.Api.Proxy do # proxied functions def broadcast(percent_progress() = message) do - RemoteControl.Dispatch.broadcast(message) + Engine.Dispatch.broadcast(message) end def broadcast(message) do - mfa = to_mfa(RemoteControl.Dispatch.broadcast(message)) + mfa = to_mfa(Engine.Dispatch.broadcast(message)) :gen_statem.call(__MODULE__, buffer(contents: mfa)) end def schedule_compile(force? \\ false) do - project = RemoteControl.get_project() + project = Engine.get_project() - mfa = to_mfa(RemoteControl.Build.schedule_compile(project, force?)) + mfa = to_mfa(Engine.Build.schedule_compile(project, force?)) :gen_statem.call(__MODULE__, buffer(contents: mfa)) end def compile_document(document) do - project = RemoteControl.get_project() + project = Engine.get_project() - mfa = to_mfa(RemoteControl.Build.compile_document(project, document)) + mfa = to_mfa(Engine.Build.compile_document(project, document)) :gen_statem.call(__MODULE__, buffer(contents: mfa)) end diff --git a/apps/remote_control/lib/lexical/remote_control/api/proxy/buffering_state.ex b/apps/engine/lib/engine/engine/api/proxy/buffering_state.ex similarity index 92% rename from apps/remote_control/lib/lexical/remote_control/api/proxy/buffering_state.ex rename to apps/engine/lib/engine/engine/api/proxy/buffering_state.ex index ea00e51e..70ad9777 100644 --- a/apps/remote_control/lib/lexical/remote_control/api/proxy/buffering_state.ex +++ b/apps/engine/lib/engine/engine/api/proxy/buffering_state.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Api.Proxy.BufferingState do - alias Lexical.Document - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Commands +defmodule Engine.Api.Proxy.BufferingState do + alias Forge.Document + alias Engine + alias Engine.Api + alias Engine.Build + alias Engine.Commands import Api.Messages import Api.Proxy.Records @@ -23,7 +23,7 @@ defmodule Lexical.RemoteControl.Api.Proxy.BufferingState do state.buffer |> Enum.reverse() |> Enum.split_with(fn value -> - match?(mfa(module: RemoteControl.Dispatch, function: :broadcast), value) + match?(mfa(module: Engine.Dispatch, function: :broadcast), value) end) {project_compile, document_compiles, reindex} = collapse_commands(commands) diff --git a/apps/remote_control/lib/lexical/remote_control/api/proxy/draining_state.ex b/apps/engine/lib/engine/engine/api/proxy/draining_state.ex similarity index 79% rename from apps/remote_control/lib/lexical/remote_control/api/proxy/draining_state.ex rename to apps/engine/lib/engine/engine/api/proxy/draining_state.ex index 4941fc12..6c1b33ae 100644 --- a/apps/remote_control/lib/lexical/remote_control/api/proxy/draining_state.ex +++ b/apps/engine/lib/engine/engine/api/proxy/draining_state.ex @@ -1,7 +1,7 @@ -defmodule Lexical.RemoteControl.Api.Proxy.DrainingState do - alias Lexical.RemoteControl.Api.Proxy.BufferingState - alias Lexical.RemoteControl.Api.Proxy.ProxyingState - alias Lexical.RemoteControl.Api.Proxy.Records +defmodule Engine.Api.Proxy.DrainingState do + alias Engine.Api.Proxy.BufferingState + alias Engine.Api.Proxy.ProxyingState + alias Engine.Api.Proxy.Records import Records diff --git a/apps/remote_control/lib/lexical/remote_control/api/proxy/proxying_state.ex b/apps/engine/lib/engine/engine/api/proxy/proxying_state.ex similarity index 88% rename from apps/remote_control/lib/lexical/remote_control/api/proxy/proxying_state.ex rename to apps/engine/lib/engine/engine/api/proxy/proxying_state.ex index 81a723e4..466ac749 100644 --- a/apps/remote_control/lib/lexical/remote_control/api/proxy/proxying_state.ex +++ b/apps/engine/lib/engine/engine/api/proxy/proxying_state.ex @@ -1,5 +1,5 @@ -defmodule Lexical.RemoteControl.Api.Proxy.ProxyingState do - alias Lexical.RemoteControl.Api.Proxy.Records +defmodule Engine.Api.Proxy.ProxyingState do + alias Engine.Api.Proxy.Records defstruct refs_to_from: %{} diff --git a/apps/remote_control/lib/lexical/remote_control/api/proxy/records.ex b/apps/engine/lib/engine/engine/api/proxy/records.ex similarity index 91% rename from apps/remote_control/lib/lexical/remote_control/api/proxy/records.ex rename to apps/engine/lib/engine/engine/api/proxy/records.ex index 5f625b73..1a9d344c 100644 --- a/apps/remote_control/lib/lexical/remote_control/api/proxy/records.ex +++ b/apps/engine/lib/engine/engine/api/proxy/records.ex @@ -1,5 +1,5 @@ -defmodule Lexical.RemoteControl.Api.Proxy.Records do - alias Lexical.Formats +defmodule Engine.Api.Proxy.Records do + alias Forge.Formats import Record diff --git a/apps/engine/lib/engine/engine/application.ex b/apps/engine/lib/engine/engine/application.ex new file mode 100644 index 00000000..0ae2dc47 --- /dev/null +++ b/apps/engine/lib/engine/engine/application.ex @@ -0,0 +1,37 @@ +defmodule Engine.Application do + @moduledoc false + + alias Engine + + use Application + require Logger + + @impl true + def start(_type, _args) do + children = + if Engine.project_node?() do + [ + Engine.Api.Proxy, + Engine.Commands.Reindex, + Engine.Module.Loader, + {Engine.Dispatch, progress: true}, + Engine.ModuleMappings, + Engine.Build, + Engine.Build.CaptureServer, + Engine.Plugin.Runner.Supervisor, + Engine.Plugin.Runner.Coordinator, + Engine.Search.Store.Backends.Ets, + {Engine.Search.Store, + [ + &Engine.Search.Indexer.create_index/1, + &Engine.Search.Indexer.update_index/2 + ]} + ] + else + [] + end + + opts = [strategy: :one_for_one, name: Engine.Supervisor] + Supervisor.start_link(children, opts) + end +end diff --git a/apps/remote_control/lib/lexical/remote_control/bootstrap.ex b/apps/engine/lib/engine/engine/bootstrap.ex similarity index 93% rename from apps/remote_control/lib/lexical/remote_control/bootstrap.ex rename to apps/engine/lib/engine/engine/bootstrap.ex index d7c43b9a..597a6b1f 100644 --- a/apps/remote_control/lib/lexical/remote_control/bootstrap.ex +++ b/apps/engine/lib/engine/engine/bootstrap.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Bootstrap do +defmodule Engine.Bootstrap do @moduledoc """ Bootstraps the remote control node boot sequence. @@ -6,12 +6,12 @@ defmodule Lexical.RemoteControl.Bootstrap do the project's code paths, which are then added to the code paths from the language server. At this point, it's safe to start the project, as we should have all the code present to compile the system. """ - alias Lexical.Project - alias Lexical.RemoteControl + alias Forge.Project + alias Engine require Logger def init(%Project{} = project, document_store_entropy, app_configs) do - Lexical.Document.Store.set_entropy(document_store_entropy) + Forge.Document.Store.set_entropy(document_store_entropy) Application.put_all_env(app_configs) @@ -24,7 +24,7 @@ defmodule Lexical.RemoteControl.Bootstrap do {:ok, _} <- Application.ensure_all_started(:mix), {:ok, _} <- Application.ensure_all_started(:logger) do project = maybe_load_mix_exs(project) - RemoteControl.set_project(project) + Engine.set_project(project) Mix.env(:test) ExUnit.start() start_logger(project) @@ -76,7 +76,7 @@ defmodule Lexical.RemoteControl.Bootstrap do # app is an umbrella (umbrealla? returns false when started in a subapp) # to no avail. This was the only thing that consistently worked {:ok, configured_root} = - RemoteControl.Mix.in_project(project, fn _ -> + Engine.Mix.in_project(project, fn _ -> Mix.Project.config() |> Keyword.get(:config_path) |> Path.dirname() diff --git a/apps/remote_control/lib/lexical/remote_control/build.ex b/apps/engine/lib/engine/engine/build.ex similarity index 87% rename from apps/remote_control/lib/lexical/remote_control/build.ex rename to apps/engine/lib/engine/engine/build.ex index 0137a352..87398998 100644 --- a/apps/remote_control/lib/lexical/remote_control/build.ex +++ b/apps/engine/lib/engine/engine/build.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.Build do - alias Lexical.Document - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Build.Document.Compilers.HEEx - alias Lexical.RemoteControl.Build.State - alias Lexical.VM.Versions +defmodule Engine.Build do + alias Forge.Document + alias Forge.Project + alias Engine + alias Engine.Build.Document.Compilers.HEEx + alias Engine.Build.State + alias Forge.VM.Versions require Logger use GenServer @@ -46,7 +46,7 @@ defmodule Lexical.RemoteControl.Build do end def with_lock(func) do - RemoteControl.with_lock(__MODULE__, func) + Engine.with_lock(__MODULE__, func) end # GenServer Callbacks @@ -57,7 +57,7 @@ defmodule Lexical.RemoteControl.Build do @impl GenServer def init([]) do - state = State.new(RemoteControl.get_project()) + state = State.new(Engine.get_project()) with :ok <- State.set_compiler_options() do {:ok, state, {:continue, :ensure_build_directory}} diff --git a/apps/remote_control/lib/lexical/remote_control/build/capture_io.ex b/apps/engine/lib/engine/engine/build/capture_io.ex similarity index 97% rename from apps/remote_control/lib/lexical/remote_control/build/capture_io.ex rename to apps/engine/lib/engine/engine/build/capture_io.ex index 02e6b77a..9c571270 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/capture_io.ex +++ b/apps/engine/lib/engine/engine/build/capture_io.ex @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.Build.CaptureIO do +defmodule Engine.Build.CaptureIO do # Shamelessly stolen from ExUnit's CaptureIO - alias Lexical.RemoteControl.Build + alias Engine.Build def capture_io(fun) when is_function(fun, 0) do capture_io(:stdio, [], fun) diff --git a/apps/remote_control/lib/lexical/remote_control/build/capture_server.ex b/apps/engine/lib/engine/engine/build/capture_server.ex similarity index 98% rename from apps/remote_control/lib/lexical/remote_control/build/capture_server.ex rename to apps/engine/lib/engine/engine/build/capture_server.ex index 8818a4d4..dabd9a62 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/capture_server.ex +++ b/apps/engine/lib/engine/engine/build/capture_server.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Build.CaptureServer do +defmodule Engine.Build.CaptureServer do @moduledoc false @compile {:no_warn_undefined, Logger} @timeout :infinity diff --git a/apps/remote_control/lib/lexical/remote_control/build/document.ex b/apps/engine/lib/engine/engine/build/document.ex similarity index 73% rename from apps/remote_control/lib/lexical/remote_control/build/document.ex rename to apps/engine/lib/engine/engine/build/document.ex index d1e3a41f..ae9976d7 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/document.ex +++ b/apps/engine/lib/engine/engine/build/document.ex @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Build.Document do - alias Lexical.Document - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Build.Document.Compilers - alias Lexical.RemoteControl.Build.Isolation +defmodule Engine.Build.Document do + alias Forge.Document + alias Engine.Build + alias Engine.Build.Document.Compilers + alias Engine.Build.Isolation @compilers [Compilers.Config, Compilers.Elixir, Compilers.EEx, Compilers.HEEx, Compilers.NoOp] diff --git a/apps/remote_control/lib/lexical/remote_control/build/document/compiler.ex b/apps/engine/lib/engine/engine/build/document/compiler.ex similarity index 84% rename from apps/remote_control/lib/lexical/remote_control/build/document/compiler.ex rename to apps/engine/lib/engine/engine/build/document/compiler.ex index 396d5dd8..4dd0d46e 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/document/compiler.ex +++ b/apps/engine/lib/engine/engine/build/document/compiler.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Build.Document.Compiler do +defmodule Engine.Build.Document.Compiler do @moduledoc """ A behaviour for document-level compilers """ - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic @type compile_response :: {:ok, [Diagnostic.Result.t()]} | {:error, [Diagnostic.Result.t()]} diff --git a/apps/remote_control/lib/lexical/remote_control/build/document/compilers/config.ex b/apps/engine/lib/engine/engine/build/document/compilers/config.ex similarity index 92% rename from apps/remote_control/lib/lexical/remote_control/build/document/compilers/config.ex rename to apps/engine/lib/engine/engine/build/document/compilers/config.ex index d135f580..bdfb7bfd 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/document/compilers/config.ex +++ b/apps/engine/lib/engine/engine/build/document/compilers/config.ex @@ -1,12 +1,12 @@ -defmodule Lexical.RemoteControl.Build.Document.Compilers.Config do +defmodule Engine.Build.Document.Compilers.Config do @moduledoc """ A compiler for elixir configuration """ alias Elixir.Features - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Build.Error.Location + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic + alias Engine.Build + alias Engine.Build.Error.Location @elixir_source "Elixir" diff --git a/apps/remote_control/lib/lexical/remote_control/build/document/compilers/eex.ex b/apps/engine/lib/engine/engine/build/document/compilers/eex.ex similarity index 92% rename from apps/remote_control/lib/lexical/remote_control/build/document/compilers/eex.ex rename to apps/engine/lib/engine/engine/build/document/compilers/eex.ex index 243ef224..c3508344 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/document/compilers/eex.ex +++ b/apps/engine/lib/engine/engine/build/document/compilers/eex.ex @@ -1,12 +1,12 @@ -defmodule Lexical.RemoteControl.Build.Document.Compilers.EEx do +defmodule Engine.Build.Document.Compilers.EEx do @moduledoc """ A compiler for .eex files """ - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic.Result - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Build.Document.Compiler - alias Lexical.RemoteControl.Build.Document.Compilers + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic.Result + alias Engine.Build + alias Engine.Build.Document.Compiler + alias Engine.Build.Document.Compilers @behaviour Compiler diff --git a/apps/remote_control/lib/lexical/remote_control/build/document/compilers/elixir.ex b/apps/engine/lib/engine/engine/build/document/compilers/elixir.ex similarity index 84% rename from apps/remote_control/lib/lexical/remote_control/build/document/compilers/elixir.ex rename to apps/engine/lib/engine/engine/build/document/compilers/elixir.ex index e53ab498..2e7cbcbd 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/document/compilers/elixir.ex +++ b/apps/engine/lib/engine/engine/build/document/compilers/elixir.ex @@ -1,12 +1,12 @@ -defmodule Lexical.RemoteControl.Build.Document.Compilers.Elixir do +defmodule Engine.Build.Document.Compilers.Elixir do @moduledoc """ A compiler for elixir source files (.ex and .exs) """ alias Elixir.Features - alias Lexical.Document - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Build.Document.Compilers + alias Forge.Document + alias Engine.Build + alias Engine.Build.Document.Compilers @behaviour Build.Document.Compiler diff --git a/apps/remote_control/lib/lexical/remote_control/build/document/compilers/heex.ex b/apps/engine/lib/engine/engine/build/document/compilers/heex.ex similarity index 77% rename from apps/remote_control/lib/lexical/remote_control/build/document/compilers/heex.ex rename to apps/engine/lib/engine/engine/build/document/compilers/heex.ex index 69a0338b..c50763e1 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/document/compilers/heex.ex +++ b/apps/engine/lib/engine/engine/build/document/compilers/heex.ex @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.Build.Document.Compilers.HEEx do +defmodule Engine.Build.Document.Compilers.HEEx do @moduledoc """ A compiler for .heex files """ - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic.Result - alias Lexical.RemoteControl.Build.Document.Compiler - alias Lexical.RemoteControl.Build.Document.Compilers + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic.Result + alias Engine.Build.Document.Compiler + alias Engine.Build.Document.Compilers require Logger @behaviour Compiler @@ -47,15 +47,14 @@ defmodule Lexical.RemoteControl.Build.Document.Compilers.HEEx do try do source = Document.to_string(document) - opts = - [ - source: source, - file: document.path, - caller: __ENV__, - engine: Phoenix.LiveView.TagEngine, - subengine: Phoenix.LiveView.Engine, - tag_handler: Phoenix.LiveView.HTMLEngine - ] + opts = [ + source: source, + file: document.path, + caller: __ENV__, + engine: Phoenix.LiveView.TagEngine, + subengine: Phoenix.LiveView.Engine, + tag_handler: Phoenix.LiveView.HTMLEngine + ] quoted = EEx.compile_string(source, opts) diff --git a/apps/remote_control/lib/lexical/remote_control/build/document/compilers/no_op.ex b/apps/engine/lib/engine/engine/build/document/compilers/no_op.ex similarity index 68% rename from apps/remote_control/lib/lexical/remote_control/build/document/compilers/no_op.ex rename to apps/engine/lib/engine/engine/build/document/compilers/no_op.ex index c04bc91a..b4f7277a 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/document/compilers/no_op.ex +++ b/apps/engine/lib/engine/engine/build/document/compilers/no_op.ex @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Build.Document.Compilers.NoOp do +defmodule Engine.Build.Document.Compilers.NoOp do @moduledoc """ A no-op, catch-all compiler. Always enabled, recognizes everything and returns no errors """ - alias Lexical.RemoteControl.Build.Document + alias Engine.Build.Document @behaviour Document.Compiler diff --git a/apps/remote_control/lib/lexical/remote_control/build/document/compilers/quoted.ex b/apps/engine/lib/engine/engine/build/document/compilers/quoted.ex similarity index 95% rename from apps/remote_control/lib/lexical/remote_control/build/document/compilers/quoted.ex rename to apps/engine/lib/engine/engine/build/document/compilers/quoted.ex index 94551b50..526c33d4 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/document/compilers/quoted.ex +++ b/apps/engine/lib/engine/engine/build/document/compilers/quoted.ex @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.Build.Document.Compilers.Quoted do +defmodule Engine.Build.Document.Compilers.Quoted do alias Elixir.Features - alias Lexical.Ast - alias Lexical.Document - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.ModuleMappings + alias Forge.Ast + alias Forge.Document + alias Engine.Build + alias Engine.ModuleMappings - import Lexical.RemoteControl.Build.CaptureIO, only: [capture_io: 2] + import Engine.Build.CaptureIO, only: [capture_io: 2] def compile(%Document{} = document, quoted_ast, compiler_name) do prepare_compile(document.path) @@ -162,13 +162,13 @@ defmodule Lexical.RemoteControl.Build.Document.Compilers.Quoted do end defp wrap_nodes(nodes, vars, i) do - module_name = :"lexical_wrapper_#{i}" + module_name = :"expert_wrapper_#{i}" {nodes, new_vars} = suppress_and_extract_vars(nodes) quoted = quote do defmodule unquote(module_name) do - def __lexical_wrapper__([unquote_splicing(vars)]) do + def __expert_wrapper__([unquote_splicing(vars)]) do (unquote_splicing(nodes)) end end diff --git a/apps/remote_control/lib/lexical/remote_control/build/error.ex b/apps/engine/lib/engine/engine/build/error.ex similarity index 98% rename from apps/remote_control/lib/lexical/remote_control/build/error.ex rename to apps/engine/lib/engine/engine/build/error.ex index f1ae13fe..0d4dfd62 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/error.ex +++ b/apps/engine/lib/engine/engine/build/error.ex @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Build.Error do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic.Result - alias Lexical.RemoteControl.Build.Error.Location +defmodule Engine.Build.Error do + alias Forge.Ast + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic.Result + alias Engine.Build.Error.Location alias Mix.Task.Compiler require Logger diff --git a/apps/remote_control/lib/lexical/remote_control/build/error/location.ex b/apps/engine/lib/engine/engine/build/error/location.ex similarity index 92% rename from apps/remote_control/lib/lexical/remote_control/build/error/location.ex rename to apps/engine/lib/engine/engine/build/error/location.ex index d8f4e92c..4809e837 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/error/location.ex +++ b/apps/engine/lib/engine/engine/build/error/location.ex @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Build.Error.Location do - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.Plugin.V1.Diagnostic.Result +defmodule Engine.Build.Error.Location do + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.Plugin.V1.Diagnostic.Result require Logger diff --git a/apps/remote_control/lib/lexical/remote_control/build/error/parse.ex b/apps/engine/lib/engine/engine/build/error/parse.ex similarity index 96% rename from apps/remote_control/lib/lexical/remote_control/build/error/parse.ex rename to apps/engine/lib/engine/engine/build/error/parse.ex index e0241601..f86adbc3 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/error/parse.ex +++ b/apps/engine/lib/engine/engine/build/error/parse.ex @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Build.Error.Parse do - alias Lexical.Document - alias Lexical.Document.Range - alias Lexical.Plugin.V1.Diagnostic.Result - alias Lexical.RemoteControl.Build.Error.Location +defmodule Engine.Build.Error.Parse do + alias Forge.Document + alias Forge.Document.Range + alias Forge.Plugin.V1.Diagnostic.Result + alias Engine.Build.Error.Location @elixir_source "Elixir" diff --git a/apps/remote_control/lib/lexical/remote_control/build/isolation.ex b/apps/engine/lib/engine/engine/build/isolation.ex similarity index 81% rename from apps/remote_control/lib/lexical/remote_control/build/isolation.ex rename to apps/engine/lib/engine/engine/build/isolation.ex index 4bfd3e00..3225c150 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/isolation.ex +++ b/apps/engine/lib/engine/engine/build/isolation.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Build.Isolation do +defmodule Engine.Build.Isolation do @moduledoc """ Runs functions in an isolated, monitored process """ - @spec invoke((-> term())) :: {:ok, term()} | {:error, term()} + @spec invoke((() -> term())) :: {:ok, term()} | {:error, term()} def invoke(function) when is_function(function, 0) do me = self() diff --git a/apps/remote_control/lib/lexical/remote_control/build/project.ex b/apps/engine/lib/engine/engine/build/project.ex similarity index 91% rename from apps/remote_control/lib/lexical/remote_control/build/project.ex rename to apps/engine/lib/engine/engine/build/project.ex index 3f72999f..f1d40831 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/project.ex +++ b/apps/engine/lib/engine/engine/build/project.ex @@ -1,16 +1,16 @@ -defmodule Lexical.RemoteControl.Build.Project do - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Build.Isolation - alias Lexical.RemoteControl.Plugin +defmodule Engine.Build.Project do + alias Forge.Project + alias Engine + alias Engine.Build + alias Engine.Build.Isolation + alias Engine.Plugin alias Mix.Task.Compiler.Diagnostic - use RemoteControl.Progress + use Engine.Progress require Logger def compile(%Project{} = project, initial?) do - RemoteControl.Mix.in_project(fn _ -> + Engine.Mix.in_project(fn _ -> Mix.Task.clear() prepare_for_project_build(initial?) diff --git a/apps/remote_control/lib/lexical/remote_control/build/state.ex b/apps/engine/lib/engine/engine/build/state.ex similarity index 88% rename from apps/remote_control/lib/lexical/remote_control/build/state.ex rename to apps/engine/lib/engine/engine/build/state.ex index baa7aa35..58e6c0c4 100644 --- a/apps/remote_control/lib/lexical/remote_control/build/state.ex +++ b/apps/engine/lib/engine/engine/build/state.ex @@ -1,18 +1,18 @@ -defmodule Lexical.RemoteControl.Build.State do +defmodule Engine.Build.State do alias Elixir.Features - alias Lexical.Document - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api.Messages - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Plugin - alias Lexical.VM.Versions + alias Forge.Document + alias Forge.Project + alias Engine + alias Engine.Api.Messages + alias Engine.Build + alias Engine.Plugin + alias Forge.VM.Versions require Logger import Messages - use RemoteControl.Progress + use Engine.Progress defstruct project: nil, build_number: 0, @@ -61,7 +61,7 @@ defmodule Lexical.RemoteControl.Build.State do # If the project directory isn't there, for some reason the main build fails, so we create it here # to ensure that the build will succeed. project = state.project - build_path = RemoteControl.Build.path(project) + build_path = Engine.Build.path(project) unless Versions.compatible?(build_path) do Logger.info("Build path #{build_path} was compiled on a previous erlang version. Deleting") @@ -87,7 +87,7 @@ defmodule Lexical.RemoteControl.Build.State do compile_requested_message = project_compile_requested(project: project, build_number: state.build_number) - RemoteControl.broadcast(compile_requested_message) + Engine.broadcast(compile_requested_message) {elapsed_us, result} = :timer.tc(fn -> Build.Project.compile(project, initial?) end) elapsed_ms = to_ms(elapsed_us) @@ -116,8 +116,8 @@ defmodule Lexical.RemoteControl.Build.State do diagnostics: diagnostics ) - RemoteControl.broadcast(compile_message) - RemoteControl.broadcast(diagnostics_message) + Engine.broadcast(compile_message) + Engine.broadcast(diagnostics_message) Plugin.diagnose(project, state.build_number) end) @@ -129,10 +129,10 @@ defmodule Lexical.RemoteControl.Build.State do project = state.project Build.with_lock(fn -> - RemoteControl.broadcast(file_compile_requested(uri: document.uri)) + Engine.broadcast(file_compile_requested(uri: document.uri)) safe_compile_func = fn -> - RemoteControl.Mix.in_project(fn _ -> Build.Document.compile(document) end) + Engine.Mix.in_project(fn _ -> Build.Document.compile(document) end) end {elapsed_us, result} = :timer.tc(fn -> safe_compile_func.() end) @@ -174,8 +174,8 @@ defmodule Lexical.RemoteControl.Build.State do diagnostics: List.wrap(diagnostics) ) - RemoteControl.broadcast(compile_message) - RemoteControl.broadcast(diagnostics) + Engine.broadcast(compile_message) + Engine.broadcast(diagnostics) Plugin.diagnose(project, state.build_number, document) end) @@ -185,7 +185,7 @@ defmodule Lexical.RemoteControl.Build.State do def set_compiler_options do Code.compiler_options( parser_options: parser_options(), - tracers: [RemoteControl.Compilation.Tracer] + tracers: [Engine.Compilation.Tracer] ) :ok diff --git a/apps/remote_control/lib/lexical/remote_control/code_action.ex b/apps/engine/lib/engine/engine/code_action.ex similarity index 81% rename from apps/remote_control/lib/lexical/remote_control/code_action.ex rename to apps/engine/lib/engine/engine/code_action.ex index 6b0f0735..6be8f774 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_action.ex +++ b/apps/engine/lib/engine/engine/code_action.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.CodeAction do - alias Lexical.Document - alias Lexical.Document.Changes - alias Lexical.Document.Range - alias Lexical.RemoteControl.CodeAction.Diagnostic - alias Lexical.RemoteControl.CodeAction.Handlers +defmodule Engine.CodeAction do + alias Forge.Document + alias Forge.Document.Changes + alias Forge.Document.Range + alias Engine.CodeAction.Diagnostic + alias Engine.CodeAction.Handlers defstruct [:title, :kind, :changes, :uri] @@ -24,7 +24,7 @@ defmodule Lexical.RemoteControl.CodeAction do title: String.t(), kind: code_action_kind, changes: Changes.t(), - uri: Lexical.uri() + uri: Forge.uri() } @handlers [ @@ -36,7 +36,7 @@ defmodule Lexical.RemoteControl.CodeAction do Handlers.Refactorex ] - @spec new(Lexical.uri(), String.t(), code_action_kind(), Changes.t()) :: t() + @spec new(Forge.uri(), String.t(), code_action_kind(), Changes.t()) :: t() def new(uri, title, kind, changes) do %__MODULE__{uri: uri, title: title, changes: changes, kind: kind} end diff --git a/apps/remote_control/lib/lexical/remote_control/code_action/diagnostic.ex b/apps/engine/lib/engine/engine/code_action/diagnostic.ex similarity index 82% rename from apps/remote_control/lib/lexical/remote_control/code_action/diagnostic.ex rename to apps/engine/lib/engine/engine/code_action/diagnostic.ex index 78b6ee83..8d4c3086 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_action/diagnostic.ex +++ b/apps/engine/lib/engine/engine/code_action/diagnostic.ex @@ -1,5 +1,5 @@ -defmodule Lexical.RemoteControl.CodeAction.Diagnostic do - alias Lexical.Document.Range +defmodule Engine.CodeAction.Diagnostic do + alias Forge.Document.Range defstruct [:range, :message, :source] @type message :: String.t() diff --git a/apps/remote_control/lib/lexical/remote_control/code_action/handler.ex b/apps/engine/lib/engine/engine/code_action/handler.ex similarity index 50% rename from apps/remote_control/lib/lexical/remote_control/code_action/handler.ex rename to apps/engine/lib/engine/engine/code_action/handler.ex index 2951626a..46b457c5 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_action/handler.ex +++ b/apps/engine/lib/engine/engine/code_action/handler.ex @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.CodeAction.Handler do - alias Lexical.Document - alias Lexical.Document.Range - alias Lexical.RemoteControl.CodeAction - alias Lexical.RemoteControl.CodeAction.Diagnostic +defmodule Engine.CodeAction.Handler do + alias Forge.Document + alias Forge.Document.Range + alias Engine.CodeAction + alias Engine.CodeAction.Diagnostic @callback actions(Document.t(), Range.t(), [Diagnostic.t()]) :: [CodeAction.t()] @callback kinds() :: [CodeAction.code_action_kind()] diff --git a/apps/remote_control/lib/lexical/remote_control/code_action/handlers/add_alias.ex b/apps/engine/lib/engine/engine/code_action/handlers/add_alias.ex similarity index 89% rename from apps/remote_control/lib/lexical/remote_control/code_action/handlers/add_alias.ex rename to apps/engine/lib/engine/engine/code_action/handlers/add_alias.ex index 223fcb3b..c3ed94ce 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_action/handlers/add_alias.ex +++ b/apps/engine/lib/engine/engine/code_action/handlers/add_alias.ex @@ -1,20 +1,20 @@ -defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAlias do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Ast.Analysis.Alias - alias Lexical.Document - alias Lexical.Document.Changes - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.Formats - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Analyzer - alias Lexical.RemoteControl.CodeAction - alias Lexical.RemoteControl.CodeIntelligence.Entity - alias Lexical.RemoteControl.CodeMod - alias Lexical.RemoteControl.Modules - alias Lexical.RemoteControl.Search.Fuzzy - alias Lexical.RemoteControl.Search.Indexer.Entry +defmodule Engine.CodeAction.Handlers.AddAlias do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Ast.Analysis.Alias + alias Forge.Document + alias Forge.Document.Changes + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.Formats + alias Engine + alias Engine.Analyzer + alias Engine.CodeAction + alias Engine.CodeIntelligence.Entity + alias Engine.CodeMod + alias Engine.Modules + alias Engine.Search.Fuzzy + alias Engine.Search.Indexer.Entry alias Mix.Tasks.Namespace alias Sourceror.Zipper @@ -170,7 +170,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAlias do {:elixir, split} = Ast.Module.safe_split(module) alias_as = List.last(split) subject_module = module - RemoteControl.Module.Loader.ensure_loaded(subject_module) + Engine.Module.Loader.ensure_loaded(subject_module) protocol_or_implementation? = function_exported?(module, :__impl__, 1) diff --git a/apps/remote_control/lib/lexical/remote_control/code_action/handlers/organize_aliases.ex b/apps/engine/lib/engine/engine/code_action/handlers/organize_aliases.ex similarity index 78% rename from apps/remote_control/lib/lexical/remote_control/code_action/handlers/organize_aliases.ex rename to apps/engine/lib/engine/engine/code_action/handlers/organize_aliases.ex index ecd73773..fe8fd3e5 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_action/handlers/organize_aliases.ex +++ b/apps/engine/lib/engine/engine/code_action/handlers/organize_aliases.ex @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.CodeAction.Handlers.OrganizeAliases do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Analysis.Scope - alias Lexical.Document - alias Lexical.Document.Changes - alias Lexical.Document.Range - alias Lexical.RemoteControl.CodeAction - alias Lexical.RemoteControl.CodeMod +defmodule Engine.CodeAction.Handlers.OrganizeAliases do + alias Forge.Ast.Analysis + alias Forge.Ast.Analysis.Scope + alias Forge.Document + alias Forge.Document.Changes + alias Forge.Document.Range + alias Engine.CodeAction + alias Engine.CodeMod require Logger diff --git a/apps/remote_control/lib/lexical/remote_control/code_action/handlers/refactorex.ex b/apps/engine/lib/engine/engine/code_action/handlers/refactorex.ex similarity index 79% rename from apps/remote_control/lib/lexical/remote_control/code_action/handlers/refactorex.ex rename to apps/engine/lib/engine/engine/code_action/handlers/refactorex.ex index 07579f10..a2f0ca91 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_action/handlers/refactorex.ex +++ b/apps/engine/lib/engine/engine/code_action/handlers/refactorex.ex @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.CodeAction.Handlers.Refactorex do - alias Lexical.Document - alias Lexical.Document.Changes - alias Lexical.Document.Range +defmodule Engine.CodeAction.Handlers.Refactorex do + alias Forge.Document + alias Forge.Document.Changes + alias Forge.Document.Range - alias Lexical.RemoteControl - alias Lexical.RemoteControl.CodeAction - alias Lexical.RemoteControl.CodeMod + alias Engine + alias Engine.CodeAction + alias Engine.CodeMod alias Refactorex.Refactor @@ -49,7 +49,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.Refactorex do defp map_kind(kind), do: :"#{String.replace(kind, ".", "_")}" defp ast_to_changes(doc, ast) do - {formatter, opts} = CodeMod.Format.formatter_for_file(RemoteControl.get_project(), doc.uri) + {formatter, opts} = CodeMod.Format.formatter_for_file(Engine.get_project(), doc.uri) ast |> Sourceror.to_string( diff --git a/apps/remote_control/lib/lexical/remote_control/code_action/handlers/remove_unused_alias.ex b/apps/engine/lib/engine/engine/code_action/handlers/remove_unused_alias.ex similarity index 94% rename from apps/remote_control/lib/lexical/remote_control/code_action/handlers/remove_unused_alias.ex rename to apps/engine/lib/engine/engine/code_action/handlers/remove_unused_alias.ex index 7fd013e8..117c09ea 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_action/handlers/remove_unused_alias.ex +++ b/apps/engine/lib/engine/engine/code_action/handlers/remove_unused_alias.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.CodeAction.Handlers.RemoveUnusedAlias do +defmodule Engine.CodeAction.Handlers.RemoveUnusedAlias do @moduledoc """ A code action that removes an unused alias @@ -21,16 +21,16 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.RemoveUnusedAlias do normalizer and possibly fix sourceror, so until then, this is what we have. """ - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Document - alias Lexical.Document.Changes - alias Lexical.Document.Edit - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.RemoteControl.Analyzer - alias Lexical.RemoteControl.CodeAction - alias Lexical.RemoteControl.CodeAction.Diagnostic + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Document + alias Forge.Document.Changes + alias Forge.Document.Edit + alias Forge.Document.Position + alias Forge.Document.Range + alias Engine.Analyzer + alias Engine.CodeAction + alias Engine.CodeAction.Diagnostic alias Sourceror.Zipper import Record diff --git a/apps/remote_control/lib/lexical/remote_control/code_action/handlers/replace_remote_function.ex b/apps/engine/lib/engine/engine/code_action/handlers/replace_remote_function.ex similarity index 90% rename from apps/remote_control/lib/lexical/remote_control/code_action/handlers/replace_remote_function.ex rename to apps/engine/lib/engine/engine/code_action/handlers/replace_remote_function.ex index f48333b6..61bc63e1 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_action/handlers/replace_remote_function.ex +++ b/apps/engine/lib/engine/engine/code_action/handlers/replace_remote_function.ex @@ -1,13 +1,13 @@ -defmodule Lexical.RemoteControl.CodeAction.Handlers.ReplaceRemoteFunction do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.Document.Changes - alias Lexical.Document.Edit - alias Lexical.Document.Range - alias Lexical.RemoteControl - alias Lexical.RemoteControl.CodeAction - alias Lexical.RemoteControl.CodeAction.Diagnostic - alias Lexical.RemoteControl.Modules +defmodule Engine.CodeAction.Handlers.ReplaceRemoteFunction do + alias Forge.Ast + alias Forge.Document + alias Forge.Document.Changes + alias Forge.Document.Edit + alias Forge.Document.Range + alias Engine + alias Engine.CodeAction + alias Engine.CodeAction.Diagnostic + alias Engine.Modules alias Sourceror.Zipper @behaviour CodeAction.Handler @@ -63,7 +63,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.ReplaceRemoteFunction do |> Ast.traverse_line(line_number, [], fn %Zipper{node: {{:., _, [{:__aliases__, _, module_alias}, ^function_atom]}, _, _}} = zipper, patches -> - case RemoteControl.Analyzer.expand_alias(module_alias, analysis, position) do + case Engine.Analyzer.expand_alias(module_alias, analysis, position) do {:ok, ^module} -> patch = Sourceror.Patch.rename_call(zipper.node, suggestion) {zipper, [patch | patches]} diff --git a/apps/remote_control/lib/lexical/remote_control/code_action/handlers/replace_with_underscore.ex b/apps/engine/lib/engine/engine/code_action/handlers/replace_with_underscore.ex similarity index 88% rename from apps/remote_control/lib/lexical/remote_control/code_action/handlers/replace_with_underscore.ex rename to apps/engine/lib/engine/engine/code_action/handlers/replace_with_underscore.ex index d83bc573..0631f9e4 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_action/handlers/replace_with_underscore.ex +++ b/apps/engine/lib/engine/engine/code_action/handlers/replace_with_underscore.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.CodeAction.Handlers.ReplaceWithUnderscore do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.Document.Changes - alias Lexical.Document.Range - alias Lexical.RemoteControl.CodeAction - alias Lexical.RemoteControl.CodeAction.Diagnostic +defmodule Engine.CodeAction.Handlers.ReplaceWithUnderscore do + alias Forge.Ast + alias Forge.Document + alias Forge.Document.Changes + alias Forge.Document.Range + alias Engine.CodeAction + alias Engine.CodeAction.Diagnostic alias Sourceror.Zipper @behaviour CodeAction.Handler diff --git a/apps/remote_control/lib/lexical/remote_control/code_intelligence/definition.ex b/apps/engine/lib/engine/engine/code_intelligence/definition.ex similarity index 92% rename from apps/remote_control/lib/lexical/remote_control/code_intelligence/definition.ex rename to apps/engine/lib/engine/engine/code_intelligence/definition.ex index b854f00b..e8de8ca7 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_intelligence/definition.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/definition.ex @@ -1,16 +1,16 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.Definition do +defmodule Engine.CodeIntelligence.Definition do alias ElixirSense.Providers.Location, as: ElixirSenseLocation alias Future.Code - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Document - alias Lexical.Document.Location - alias Lexical.Document.Position - alias Lexical.Formats - alias Lexical.RemoteControl.CodeIntelligence.Entity - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Store - alias Lexical.Text + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Document + alias Forge.Document.Location + alias Forge.Document.Position + alias Forge.Formats + alias Engine.CodeIntelligence.Entity + alias Engine.Search.Indexer.Entry + alias Engine.Search.Store + alias Forge.Text require Logger diff --git a/apps/remote_control/lib/lexical/remote_control/code_intelligence/docs.ex b/apps/engine/lib/engine/engine/code_intelligence/docs.ex similarity index 95% rename from apps/remote_control/lib/lexical/remote_control/code_intelligence/docs.ex rename to apps/engine/lib/engine/engine/code_intelligence/docs.ex index 5fa5da56..6fb9bad2 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_intelligence/docs.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/docs.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.Docs do +defmodule Engine.CodeIntelligence.Docs do @moduledoc """ Utilities for fetching documentation for a compiled module. """ - alias Lexical.RemoteControl.CodeIntelligence.Docs.Entry - alias Lexical.RemoteControl.Modules + alias Engine.CodeIntelligence.Docs.Entry + alias Engine.Modules defstruct [:module, :doc, functions_and_macros: [], callbacks: [], types: []] diff --git a/apps/remote_control/lib/lexical/remote_control/code_intelligence/docs/entry.ex b/apps/engine/lib/engine/engine/code_intelligence/docs/entry.ex similarity index 95% rename from apps/remote_control/lib/lexical/remote_control/code_intelligence/docs/entry.ex rename to apps/engine/lib/engine/engine/code_intelligence/docs/entry.ex index 098af162..359ae0f2 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_intelligence/docs/entry.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/docs/entry.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.Docs.Entry do +defmodule Engine.CodeIntelligence.Docs.Entry do @moduledoc """ A documentation entry for a named entity within a module. """ diff --git a/apps/remote_control/lib/lexical/remote_control/code_intelligence/entity.ex b/apps/engine/lib/engine/engine/code_intelligence/entity.ex similarity index 94% rename from apps/remote_control/lib/lexical/remote_control/code_intelligence/entity.ex rename to apps/engine/lib/engine/engine/code_intelligence/entity.ex index 5f89024d..290b1c79 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_intelligence/entity.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/entity.ex @@ -1,12 +1,12 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.Entity do +defmodule Engine.CodeIntelligence.Entity do alias Future.Code, as: Code - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.Formats - alias Lexical.RemoteControl + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.Formats + alias Engine alias Sourceror.Zipper require Logger @@ -85,7 +85,7 @@ defmodule Lexical.RemoteControl.CodeIntelligence.Entity do when def in [:def, :defp, :defmacro, :defmacrop] -> # This case handles resolving calls that come from zero-arg definitions in # a module, like hovering in `def my_fun| do` - {:ok, module} = RemoteControl.Analyzer.current_module(analysis, position) + {:ok, module} = Engine.Analyzer.current_module(analysis, position) {:ok, {:call, module, maybe_fun, 0}, node_range} {:ok, [{^maybe_fun, _, args} | _]} -> @@ -152,7 +152,7 @@ defmodule Lexical.RemoteControl.CodeIntelligence.Entity do with {:ok, path} <- Ast.path_at(analysis, position), arity = arity_at_position(path, position), {module, ^fun, ^arity} <- - RemoteControl.Analyzer.resolve_local_call(analysis, position, fun, arity) do + Engine.Analyzer.resolve_local_call(analysis, position, fun, arity) do {:ok, {:call, module, fun, arity}, node_range} else _ -> @@ -222,9 +222,9 @@ defmodule Lexical.RemoteControl.CodeIntelligence.Entity do end defp maybe_prepend_ecto_schema(module_string, %Analysis{} = analysis, %Position{} = position) do - with true <- Ecto.Schema in RemoteControl.Analyzer.uses_at(analysis, position), + with true <- Ecto.Schema in Engine.Analyzer.uses_at(analysis, position), true <- in_inline_embed?(analysis, position), - {:ok, parent_module} <- RemoteControl.Analyzer.current_module(analysis, position) do + {:ok, parent_module} <- Engine.Analyzer.current_module(analysis, position) do parent_module |> Module.concat(module_string) |> Formats.module() @@ -254,7 +254,7 @@ defmodule Lexical.RemoteControl.CodeIntelligence.Entity do defp maybe_prepend_phoenix_scope_module(module_string, analysis, position) do with {:ok, scope_segments} <- fetch_phoenix_scope_alias_segments(analysis, position), {:ok, scope_module} <- - RemoteControl.Analyzer.expand_alias(scope_segments, analysis, position), + Engine.Analyzer.expand_alias(scope_segments, analysis, position), cursor_module = Module.concat(scope_module, module_string), true <- phoenix_controller_module?(cursor_module) or phoenix_liveview_module?(cursor_module) do @@ -376,7 +376,7 @@ defmodule Lexical.RemoteControl.CodeIntelligence.Entity do defp expand_alias(module, analysis, %Position{} = position) when is_binary(module) do [module] |> Module.concat() - |> RemoteControl.Analyzer.expand_alias(analysis, position) + |> Engine.Analyzer.expand_alias(analysis, position) end defp expand_alias(_, _analysis, _position), do: :error @@ -482,7 +482,7 @@ defmodule Lexical.RemoteControl.CodeIntelligence.Entity do defp fetch_module_for_imported_function(analysis, position, function_name, arity) do analysis - |> RemoteControl.Analyzer.imports_at(position) + |> Engine.Analyzer.imports_at(position) |> Enum.find_value({:error, :not_found}, fn {imported_module, ^function_name, ^arity} -> {:ok, imported_module} @@ -493,7 +493,7 @@ defmodule Lexical.RemoteControl.CodeIntelligence.Entity do end defp fetch_module_for_local_function(analysis, position, function_name, arity) do - with {:ok, current_module} <- RemoteControl.Analyzer.current_module(analysis, position), + with {:ok, current_module} <- Engine.Analyzer.current_module(analysis, position), true <- function_exported?(current_module, function_name, arity) do {:ok, current_module} else @@ -507,7 +507,7 @@ defmodule Lexical.RemoteControl.CodeIntelligence.Entity do end defp current_module(%Analysis{} = analysis, %Position{} = position) do - case RemoteControl.Analyzer.current_module(analysis, position) do + case Engine.Analyzer.current_module(analysis, position) do {:ok, module} -> module _ -> nil end diff --git a/apps/remote_control/lib/lexical/remote_control/code_intelligence/references.ex b/apps/engine/lib/engine/engine/code_intelligence/references.ex similarity index 84% rename from apps/remote_control/lib/lexical/remote_control/code_intelligence/references.ex rename to apps/engine/lib/engine/engine/code_intelligence/references.ex index 878c6b37..e3a6ca4c 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_intelligence/references.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/references.ex @@ -1,14 +1,14 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.References do - alias Lexical.Ast.Analysis - alias Lexical.Document - alias Lexical.Document.Location - alias Lexical.Document.Position - alias Lexical.RemoteControl.Analyzer - alias Lexical.RemoteControl.CodeIntelligence.Entity - alias Lexical.RemoteControl.CodeIntelligence.Variable - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Store - alias Lexical.RemoteControl.Search.Subject +defmodule Engine.CodeIntelligence.References do + alias Forge.Ast.Analysis + alias Forge.Document + alias Forge.Document.Location + alias Forge.Document.Position + alias Engine.Analyzer + alias Engine.CodeIntelligence.Entity + alias Engine.CodeIntelligence.Variable + alias Engine.Search.Indexer.Entry + alias Engine.Search.Store + alias Engine.Search.Subject require Logger diff --git a/apps/remote_control/lib/lexical/remote_control/code_intelligence/structs.ex b/apps/engine/lib/engine/engine/code_intelligence/structs.ex similarity index 57% rename from apps/remote_control/lib/lexical/remote_control/code_intelligence/structs.ex rename to apps/engine/lib/engine/engine/code_intelligence/structs.ex index 8ef9e238..019869f2 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_intelligence/structs.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/structs.ex @@ -1,14 +1,14 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.Structs do - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Module.Loader - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Store +defmodule Engine.CodeIntelligence.Structs do + alias Engine + alias Engine.Module.Loader + alias Engine.Search.Indexer.Entry + alias Engine.Search.Store def for_project do if Mix.Project.get() do {:ok, structs_from_index()} else - RemoteControl.Mix.in_project(fn _ -> structs_from_index() end) + Engine.Mix.in_project(fn _ -> structs_from_index() end) end end diff --git a/apps/remote_control/lib/lexical/remote_control/code_intelligence/symbols.ex b/apps/engine/lib/engine/engine/code_intelligence/symbols.ex similarity index 90% rename from apps/remote_control/lib/lexical/remote_control/code_intelligence/symbols.ex rename to apps/engine/lib/engine/engine/code_intelligence/symbols.ex index 2459e43e..f1597ba7 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_intelligence/symbols.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/symbols.ex @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.Symbols do - alias Lexical.Document - alias Lexical.Document.Range - alias Lexical.RemoteControl.CodeIntelligence.Symbols - alias Lexical.RemoteControl.Search - alias Lexical.RemoteControl.Search.Indexer - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Indexer.Extractors +defmodule Engine.CodeIntelligence.Symbols do + alias Forge.Document + alias Forge.Document.Range + alias Engine.CodeIntelligence.Symbols + alias Engine.Search + alias Engine.Search.Indexer + alias Engine.Search.Indexer.Entry + alias Engine.Search.Indexer.Extractors @block_types [ :ex_unit_describe, diff --git a/apps/remote_control/lib/lexical/remote_control/code_intelligence/symbols/document.ex b/apps/engine/lib/engine/engine/code_intelligence/symbols/document.ex similarity index 93% rename from apps/remote_control/lib/lexical/remote_control/code_intelligence/symbols/document.ex rename to apps/engine/lib/engine/engine/code_intelligence/symbols/document.ex index 8009244e..10e98bda 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_intelligence/symbols/document.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/symbols/document.ex @@ -1,7 +1,7 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.Symbols.Document do - alias Lexical.Document - alias Lexical.Formats - alias Lexical.RemoteControl.Search.Indexer.Entry +defmodule Engine.CodeIntelligence.Symbols.Document do + alias Forge.Document + alias Forge.Formats + alias Engine.Search.Indexer.Entry defstruct [:name, :type, :range, :detail_range, :detail, :original_type, :subject, children: []] diff --git a/apps/remote_control/lib/lexical/remote_control/code_intelligence/symbols/workspace.ex b/apps/engine/lib/engine/engine/code_intelligence/symbols/workspace.ex similarity index 77% rename from apps/remote_control/lib/lexical/remote_control/code_intelligence/symbols/workspace.ex rename to apps/engine/lib/engine/engine/code_intelligence/symbols/workspace.ex index a78a6679..0ceb2581 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_intelligence/symbols/workspace.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/symbols/workspace.ex @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.Symbols.Workspace do +defmodule Engine.CodeIntelligence.Symbols.Workspace do defmodule Link do defstruct [:uri, :range, :detail_range] @type t :: %__MODULE__{ - uri: Lexical.uri(), - range: Lexical.Document.Range.t(), - detail_range: Lexical.Document.Range.t() + uri: Forge.uri(), + range: Forge.Document.Range.t(), + detail_range: Forge.Document.Range.t() } def new(uri, range, detail_range \\ nil) do @@ -13,9 +13,9 @@ defmodule Lexical.RemoteControl.CodeIntelligence.Symbols.Workspace do end end - alias Lexical.Document - alias Lexical.Formats - alias Lexical.RemoteControl.Search.Indexer.Entry + alias Forge.Document + alias Forge.Formats + alias Engine.Search.Indexer.Entry defstruct [:name, :type, :link, container_name: nil] diff --git a/apps/remote_control/lib/lexical/remote_control/code_intelligence/variable.ex b/apps/engine/lib/engine/engine/code_intelligence/variable.ex similarity index 97% rename from apps/remote_control/lib/lexical/remote_control/code_intelligence/variable.ex rename to apps/engine/lib/engine/engine/code_intelligence/variable.ex index 24168457..f7a5f836 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_intelligence/variable.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/variable.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.Variable do - alias Lexical.Ast.Analysis - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.RemoteControl.Search.Indexer - alias Lexical.RemoteControl.Search.Indexer.Entry +defmodule Engine.CodeIntelligence.Variable do + alias Forge.Ast.Analysis + alias Forge.Document.Position + alias Forge.Document.Range + alias Engine.Search.Indexer + alias Engine.Search.Indexer.Entry require Logger diff --git a/apps/remote_control/lib/lexical/remote_control/code_mod/aliases.ex b/apps/engine/lib/engine/engine/code_mod/aliases.ex similarity index 95% rename from apps/remote_control/lib/lexical/remote_control/code_mod/aliases.ex rename to apps/engine/lib/engine/engine/code_mod/aliases.ex index 105aed95..23b725f5 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_mod/aliases.ex +++ b/apps/engine/lib/engine/engine/code_mod/aliases.ex @@ -1,13 +1,13 @@ -defmodule Lexical.RemoteControl.CodeMod.Aliases do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Ast.Analysis.Alias - alias Lexical.Ast.Analysis.Scope - alias Lexical.Document - alias Lexical.Document.Edit - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.RemoteControl +defmodule Engine.CodeMod.Aliases do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Ast.Analysis.Alias + alias Forge.Ast.Analysis.Scope + alias Forge.Document + alias Forge.Document.Edit + alias Forge.Document.Position + alias Forge.Document.Range + alias Engine alias Sourceror.Zipper @doc """ @@ -234,7 +234,7 @@ defmodule Lexical.RemoteControl.CodeMod.Aliases do end defp maybe_move_cursor_to_token_start(%Position{} = position, %Analysis{} = analysis) do - project = RemoteControl.get_project() + project = Engine.get_project() with {:ok, env} <- Ast.Env.new(project, analysis, position), false <- String.last(env.prefix) in [" ", ""] do diff --git a/apps/remote_control/lib/lexical/remote_control/code_mod/diff.ex b/apps/engine/lib/engine/engine/code_mod/diff.ex similarity index 94% rename from apps/remote_control/lib/lexical/remote_control/code_mod/diff.ex rename to apps/engine/lib/engine/engine/code_mod/diff.ex index 85a4a338..3524fa4f 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_mod/diff.ex +++ b/apps/engine/lib/engine/engine/code_mod/diff.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.CodeMod.Diff do - alias Lexical.CodeUnit - alias Lexical.Document - alias Lexical.Document.Edit - alias Lexical.Document.Position - alias Lexical.Document.Range +defmodule Engine.CodeMod.Diff do + alias Forge.CodeUnit + alias Forge.Document + alias Forge.Document.Edit + alias Forge.Document.Position + alias Forge.Document.Range @spec diff(Document.t(), String.t()) :: [Edit.t()] def diff(%Document{} = document, dest) when is_binary(dest) do diff --git a/apps/remote_control/lib/lexical/remote_control/code_mod/format.ex b/apps/engine/lib/engine/engine/code_mod/format.ex similarity index 94% rename from apps/remote_control/lib/lexical/remote_control/code_mod/format.ex rename to apps/engine/lib/engine/engine/code_mod/format.ex index e934b286..4b040615 100644 --- a/apps/remote_control/lib/lexical/remote_control/code_mod/format.ex +++ b/apps/engine/lib/engine/engine/code_mod/format.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.CodeMod.Format do - alias Lexical.Document - alias Lexical.Document.Changes - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.CodeMod.Diff +defmodule Engine.CodeMod.Format do + alias Forge.Document + alias Forge.Document.Changes + alias Forge.Project + alias Engine + alias Engine.Build + alias Engine.CodeMod.Diff require Logger @@ -97,7 +97,7 @@ defmodule Lexical.RemoteControl.CodeMod.Format do @spec edits(Document.t()) :: {:ok, Changes.t()} | {:error, any} def edits(%Document{} = document) do - project = RemoteControl.get_project() + project = Engine.get_project() with :ok <- Build.compile_document(project, document), {:ok, formatted} <- do_format(project, document) do @@ -163,7 +163,7 @@ defmodule Lexical.RemoteControl.CodeMod.Format do fetch_formatter = fn _ -> Mix.Tasks.Format.formatter_for_file(file_path) end {formatter_function, opts} = - if RemoteControl.project_node?() do + if Engine.project_node?() do case mix_formatter_from_task(project, file_path) do {:ok, result} -> result @@ -245,7 +245,7 @@ defmodule Lexical.RemoteControl.CodeMod.Format do defp mix_formatter_from_task(%Project{} = project, file_path) do try do root_path = Project.root_path(project) - deps_paths = RemoteControl.deps_paths() + deps_paths = Engine.deps_paths() formatter_and_opts = Mix.Tasks.Future.Format.formatter_for_file(file_path, diff --git a/apps/remote_control/lib/lexical/remote_control/commands/reindex.ex b/apps/engine/lib/engine/engine/commands/reindex.ex similarity index 87% rename from apps/remote_control/lib/lexical/remote_control/commands/reindex.ex rename to apps/engine/lib/engine/engine/commands/reindex.ex index 610854b2..d767144e 100644 --- a/apps/remote_control/lib/lexical/remote_control/commands/reindex.ex +++ b/apps/engine/lib/engine/engine/commands/reindex.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.Commands.Reindex do +defmodule Engine.Commands.Reindex do defmodule State do - alias Lexical.Ast.Analysis - alias Lexical.Document - alias Lexical.ProcessCache - alias Lexical.RemoteControl.Search - alias Lexical.RemoteControl.Search.Indexer + alias Forge.Ast.Analysis + alias Forge.Document + alias Forge.ProcessCache + alias Engine.Search + alias Engine.Search.Indexer require Logger require ProcessCache @@ -70,11 +70,11 @@ defmodule Lexical.RemoteControl.Commands.Reindex do A simple genserver that prevents more than one reindexing job from running at the same time """ - alias Lexical.Document - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api - alias Lexical.RemoteControl.Search + alias Forge.Document + alias Forge.Project + alias Engine + alias Engine.Api + alias Engine.Search use GenServer import Api.Messages @@ -89,7 +89,7 @@ defmodule Lexical.RemoteControl.Commands.Reindex do end def perform do - perform(RemoteControl.get_project()) + perform(Engine.get_project()) end def perform(%Project{} = project) do @@ -144,7 +144,7 @@ defmodule Lexical.RemoteControl.Commands.Reindex do end defp do_reindex(%Project{} = project) do - RemoteControl.broadcast(project_reindex_requested(project: project)) + Engine.broadcast(project_reindex_requested(project: project)) {elapsed_us, result} = :timer.tc(fn -> @@ -153,7 +153,7 @@ defmodule Lexical.RemoteControl.Commands.Reindex do end end) - RemoteControl.broadcast( + Engine.broadcast( project_reindexed(project: project, elapsed_ms: round(elapsed_us / 1000), status: :success) ) diff --git a/apps/remote_control/lib/lexical/remote_control/compilation/tracer.ex b/apps/engine/lib/engine/engine/compilation/tracer.ex similarity index 83% rename from apps/remote_control/lib/lexical/remote_control/compilation/tracer.ex rename to apps/engine/lib/engine/engine/compilation/tracer.ex index e779be3d..65df408b 100644 --- a/apps/remote_control/lib/lexical/remote_control/compilation/tracer.ex +++ b/apps/engine/lib/engine/engine/compilation/tracer.ex @@ -1,14 +1,14 @@ -defmodule Lexical.RemoteControl.Compilation.Tracer do - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Module.Loader +defmodule Engine.Compilation.Tracer do + alias Engine + alias Engine.Build + alias Engine.Module.Loader - import RemoteControl.Api.Messages + import Engine.Api.Messages def trace({:on_module, module_binary, _filename}, %Macro.Env{} = env) do message = extract_module_updated(env.module, module_binary, env.file) maybe_report_progress(env.file) - RemoteControl.broadcast(message) + Engine.broadcast(message) :ok end @@ -60,7 +60,7 @@ defmodule Lexical.RemoteControl.Compilation.Tracer do if Path.extname(file) == ".ex" do file |> progress_message() - |> RemoteControl.broadcast() + |> Engine.broadcast() end end @@ -75,7 +75,7 @@ defmodule Lexical.RemoteControl.Compilation.Tracer do message = "compiling: " <> Path.join([base_dir, "...", file_name]) - label = Build.State.building_label(RemoteControl.get_project()) + label = Build.State.building_label(Engine.get_project()) project_progress(label: label, message: message) end end diff --git a/apps/remote_control/lib/lexical/remote_control/completion.ex b/apps/engine/lib/engine/engine/completion.ex similarity index 90% rename from apps/remote_control/lib/lexical/remote_control/completion.ex rename to apps/engine/lib/engine/engine/completion.ex index fedd3a55..39032a91 100644 --- a/apps/remote_control/lib/lexical/remote_control/completion.ex +++ b/apps/engine/lib/engine/engine/completion.ex @@ -1,14 +1,14 @@ -defmodule Lexical.RemoteControl.Completion do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Env - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.RemoteControl - alias Lexical.RemoteControl.CodeMod.Format - alias Lexical.RemoteControl.Completion.Candidate +defmodule Engine.Completion do + alias Forge.Ast.Analysis + alias Forge.Ast.Env + alias Forge.Document + alias Forge.Document.Position + alias Engine + alias Engine.CodeMod.Format + alias Engine.Completion.Candidate import Document.Line - import Lexical.Logging + import Forge.Logging def elixir_sense_expand(%Env{} = env) do {doc_string, position} = strip_struct_operator(env) @@ -69,11 +69,11 @@ defmodule Lexical.RemoteControl.Completion do def struct_fields(%Analysis{} = analysis, %Position{} = position) do container_struct_module = analysis - |> Lexical.Ast.cursor_path(position) + |> Forge.Ast.cursor_path(position) |> container_struct_module() with {:ok, struct_module} <- - RemoteControl.Analyzer.expand_alias(container_struct_module, analysis, position), + Engine.Analyzer.expand_alias(container_struct_module, analysis, position), true <- function_exported?(struct_module, :__struct__, 0) do struct_module |> struct() diff --git a/apps/remote_control/lib/lexical/remote_control/completion/candidate.ex b/apps/engine/lib/engine/engine/completion/candidate.ex similarity index 98% rename from apps/remote_control/lib/lexical/remote_control/completion/candidate.ex rename to apps/engine/lib/engine/engine/completion/candidate.ex index 93125200..00a5199a 100644 --- a/apps/remote_control/lib/lexical/remote_control/completion/candidate.ex +++ b/apps/engine/lib/engine/engine/completion/candidate.ex @@ -1,5 +1,5 @@ -defmodule Lexical.RemoteControl.Completion.Candidate do - alias Lexical.RemoteControl.Completion.Candidate.ArgumentNames +defmodule Engine.Completion.Candidate do + alias Engine.Completion.Candidate.ArgumentNames require Logger defmodule Function do diff --git a/apps/remote_control/lib/lexical/remote_control/completion/candidate/argument_names.ex b/apps/engine/lib/engine/engine/completion/candidate/argument_names.ex similarity index 97% rename from apps/remote_control/lib/lexical/remote_control/completion/candidate/argument_names.ex rename to apps/engine/lib/engine/engine/completion/candidate/argument_names.ex index 6152f557..d8d2e1b8 100644 --- a/apps/remote_control/lib/lexical/remote_control/completion/candidate/argument_names.ex +++ b/apps/engine/lib/engine/engine/completion/candidate/argument_names.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Completion.Candidate.ArgumentNames do +defmodule Engine.Completion.Candidate.ArgumentNames do @moduledoc """ Elixir sense, for whatever reason returns all the argument names when asked to do a completion on a function. This means that the arity of the function might differ from the argument names returned. Furthermore, the diff --git a/apps/remote_control/lib/lexical/remote_control/dispatch.ex b/apps/engine/lib/engine/engine/dispatch.ex similarity index 76% rename from apps/remote_control/lib/lexical/remote_control/dispatch.ex rename to apps/engine/lib/engine/engine/dispatch.ex index 9cc3b3e8..3a2641d3 100644 --- a/apps/remote_control/lib/lexical/remote_control/dispatch.ex +++ b/apps/engine/lib/engine/engine/dispatch.ex @@ -1,15 +1,15 @@ -defmodule Lexical.RemoteControl.Dispatch do +defmodule Engine.Dispatch do @moduledoc """ - A global event dispatcher for lexical. + A global event dispatcher for expert. Dispatch allows two recipients of its messages, processes and modules. A process must register itself via a call to `register_listener`, while a process must implement the - `Lexical.RemoteControl.Dispatch.Handler` behaviour and add the module to the @handlers module attribute. + `Engine.Dispatch.Handler` behaviour and add the module to the @handlers module attribute. """ - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Dispatch.Handlers - alias Lexical.RemoteControl.Dispatch.PubSub - import Lexical.RemoteControl.Api.Messages + alias Engine + alias Engine.Dispatch.Handlers + alias Engine.Dispatch.PubSub + import Engine.Api.Messages @handlers [PubSub, Handlers.Indexing] @@ -77,8 +77,8 @@ defmodule Lexical.RemoteControl.Dispatch do end defp progress_pid do - project = RemoteControl.get_project() - manager_node_name = RemoteControl.manager_node_name(project) - :rpc.call(manager_node_name, Lexical.Server.Project.Progress, :whereis, [project]) + project = Engine.get_project() + manager_node_name = Engine.manager_node_name(project) + :rpc.call(manager_node_name, Expert.Project.Progress, :whereis, [project]) end end diff --git a/apps/remote_control/lib/lexical/remote_control/dispatch/handler.ex b/apps/engine/lib/engine/engine/dispatch/handler.ex similarity index 90% rename from apps/remote_control/lib/lexical/remote_control/dispatch/handler.ex rename to apps/engine/lib/engine/engine/dispatch/handler.ex index 7675f780..47d4fcbc 100644 --- a/apps/remote_control/lib/lexical/remote_control/dispatch/handler.ex +++ b/apps/engine/lib/engine/engine/dispatch/handler.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Dispatch.Handler do +defmodule Engine.Dispatch.Handler do @moduledoc """ Defines a handler that selectively receives events emitted from a remote control node. @@ -7,8 +7,8 @@ defmodule Lexical.RemoteControl.Dispatch.Handler do Define a handler, specifying the events to be handled and implementing `on_event/2`: defmodule MyHandler do - alias Lexical.RemoteControl.Api.Messages - alias Lexical.RemoteControl.Dispatch.Handler + alias Engine.Api.Messages + alias Engine.Dispatch.Handler import Messages @@ -23,7 +23,7 @@ defmodule Lexical.RemoteControl.Dispatch.Handler do Register the handler with dispatch: # The second argument here will be passed to the `init/1` callback - Lexical.RemoteControl.Dispatch.add_handler(MyHandler, init_arg) + Engine.Dispatch.add_handler(MyHandler, init_arg) """ @type event :: tuple() diff --git a/apps/remote_control/lib/lexical/remote_control/dispatch/handlers/indexing.ex b/apps/engine/lib/engine/engine/dispatch/handlers/indexing.ex similarity index 69% rename from apps/remote_control/lib/lexical/remote_control/dispatch/handlers/indexing.ex rename to apps/engine/lib/engine/engine/dispatch/handlers/indexing.ex index f20ec4bd..7223ec57 100644 --- a/apps/remote_control/lib/lexical/remote_control/dispatch/handlers/indexing.ex +++ b/apps/engine/lib/engine/engine/dispatch/handlers/indexing.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Dispatch.Handlers.Indexing do - alias Lexical.Document - alias Lexical.RemoteControl.Api.Messages - alias Lexical.RemoteControl.Commands - alias Lexical.RemoteControl.Dispatch - alias Lexical.RemoteControl.Search +defmodule Engine.Dispatch.Handlers.Indexing do + alias Forge.Document + alias Engine.Api.Messages + alias Engine.Commands + alias Engine.Dispatch + alias Engine.Search require Logger import Messages diff --git a/apps/remote_control/lib/lexical/remote_control/dispatch/pub_sub.ex b/apps/engine/lib/engine/engine/dispatch/pub_sub.ex similarity index 96% rename from apps/remote_control/lib/lexical/remote_control/dispatch/pub_sub.ex rename to apps/engine/lib/engine/engine/dispatch/pub_sub.ex index 887cc46f..e85b3583 100644 --- a/apps/remote_control/lib/lexical/remote_control/dispatch/pub_sub.ex +++ b/apps/engine/lib/engine/engine/dispatch/pub_sub.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Dispatch.PubSub do +defmodule Engine.Dispatch.PubSub do @moduledoc """ A pubsub event handler for a gen_event controller. """ defmodule State do - alias Lexical.Project + alias Forge.Project defstruct [:registrations] @@ -55,7 +55,7 @@ defmodule Lexical.RemoteControl.Dispatch.PubSub do end end - alias Lexical.Project + alias Forge.Project @behaviour :gen_event diff --git a/apps/remote_control/lib/lexical/remote_control/mix.ex b/apps/engine/lib/engine/engine/mix.ex similarity index 78% rename from apps/remote_control/lib/lexical/remote_control/mix.ex rename to apps/engine/lib/engine/engine/mix.ex index e64f5230..8ef73e2c 100644 --- a/apps/remote_control/lib/lexical/remote_control/mix.ex +++ b/apps/engine/lib/engine/engine/mix.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.Mix do - alias Lexical.Project - alias Lexical.RemoteControl +defmodule Engine.Mix do + alias Forge.Project + alias Engine def in_project(fun) do - if RemoteControl.project_node?() do - in_project(RemoteControl.get_project(), fun) + if Engine.project_node?() do + in_project(Engine.get_project(), fun) else {:error, :not_project_node} end @@ -20,7 +20,7 @@ defmodule Lexical.RemoteControl.Mix do try do Mix.ProjectStack.post_config(prune_code_paths: false) - build_path = RemoteControl.Build.path(project) + build_path = Engine.Build.path(project) project_root = Project.root_path(project) project @@ -49,6 +49,6 @@ defmodule Lexical.RemoteControl.Mix do end defp with_lock(fun) do - RemoteControl.with_lock(__MODULE__, fun) + Engine.with_lock(__MODULE__, fun) end end diff --git a/apps/remote_control/lib/lexical/remote_control/mix.tasks.deps.safe_compile.ex b/apps/engine/lib/engine/engine/mix.tasks.deps.safe_compile.ex similarity index 100% rename from apps/remote_control/lib/lexical/remote_control/mix.tasks.deps.safe_compile.ex rename to apps/engine/lib/engine/engine/mix.tasks.deps.safe_compile.ex diff --git a/apps/remote_control/lib/lexical/remote_control/module/loader.ex b/apps/engine/lib/engine/engine/module/loader.ex similarity index 95% rename from apps/remote_control/lib/lexical/remote_control/module/loader.ex rename to apps/engine/lib/engine/engine/module/loader.ex index 149c3d06..b6fb1d59 100644 --- a/apps/remote_control/lib/lexical/remote_control/module/loader.ex +++ b/apps/engine/lib/engine/engine/module/loader.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Module.Loader do +defmodule Engine.Module.Loader do @moduledoc """ Apparently, Code.ensure_loaded?/1 is pretty slow. I'm guessing because it has to do a round trip to the code server for each check. This in turn slows down indexing, so the thought diff --git a/apps/remote_control/lib/lexical/remote_control/module_mappings.ex b/apps/engine/lib/engine/engine/module_mappings.ex similarity index 92% rename from apps/remote_control/lib/lexical/remote_control/module_mappings.ex rename to apps/engine/lib/engine/engine/module_mappings.ex index bcb8ce71..6e5970d6 100644 --- a/apps/remote_control/lib/lexical/remote_control/module_mappings.ex +++ b/apps/engine/lib/engine/engine/module_mappings.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.ModuleMappings do +defmodule Engine.ModuleMappings do defmodule State do defstruct module_to_file: %{}, file_to_modules: %{} @@ -39,8 +39,8 @@ defmodule Lexical.RemoteControl.ModuleMappings do end end - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api.Messages + alias Engine + alias Engine.Api.Messages use GenServer @@ -63,7 +63,7 @@ defmodule Lexical.RemoteControl.ModuleMappings do @impl GenServer def init(_) do - RemoteControl.register_listener(self(), [module_updated()]) + Engine.register_listener(self(), [module_updated()]) {:ok, State.new()} end diff --git a/apps/remote_control/lib/lexical/remote_control/modules.ex b/apps/engine/lib/engine/engine/modules.ex similarity index 96% rename from apps/remote_control/lib/lexical/remote_control/modules.ex rename to apps/engine/lib/engine/engine/modules.ex index 3b32e871..72f84fa5 100644 --- a/apps/remote_control/lib/lexical/remote_control/modules.ex +++ b/apps/engine/lib/engine/engine/modules.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.Modules do +defmodule Engine.Modules do @moduledoc """ Utilities for dealing with modules on the remote control node """ alias Future.Code.Typespec - alias Lexical.RemoteControl.Module.Loader + alias Engine.Module.Loader @typedoc "Module documentation record as defined by EEP-48" @type docs_v1 :: tuple() @@ -13,7 +13,7 @@ defmodule Lexical.RemoteControl.Modules do @type definition :: {name :: atom(), arity :: arity(), formatted :: String.t(), quoted :: Macro.t()} - @cache_timeout Application.compile_env(:remote_control, :modules_cache_expiry, {10, :second}) + @cache_timeout Application.compile_env(:engine, :modules_cache_expiry, {10, :second}) @doc """ Ensure the given module is compiled, returning the BEAM object code if successful. @@ -159,7 +159,7 @@ defmodule Lexical.RemoteControl.Modules do You can optionally pass a predicate MFA to further select which modules are returned, but it's important to understand that the predicate can only be a function reference to a function that - exists on the `remote_control` node. I.e. you CANNOT pass anonymous functions to this module. + exists on the `engine` node. I.e. you CANNOT pass anonymous functions to this module. Each module will be added as the first argument to the given list of args in the predicate, for example: diff --git a/apps/remote_control/lib/lexical/remote_control/plugin.ex b/apps/engine/lib/engine/engine/plugin.ex similarity index 73% rename from apps/remote_control/lib/lexical/remote_control/plugin.ex rename to apps/engine/lib/engine/engine/plugin.ex index f99fdba5..6afd7a48 100644 --- a/apps/remote_control/lib/lexical/remote_control/plugin.ex +++ b/apps/engine/lib/engine/engine/plugin.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Plugin do - alias Lexical.Document - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api.Messages - alias Lexical.RemoteControl.Plugin.Runner +defmodule Engine.Plugin do + alias Forge.Document + alias Forge.Project + alias Engine + alias Engine.Api.Messages + alias Engine.Plugin.Runner import Messages @@ -20,7 +20,7 @@ defmodule Lexical.RemoteControl.Plugin do diagnostics: diagnostics ) - RemoteControl.broadcast(message) + Engine.broadcast(message) end Runner.diagnose(project, on_complete) @@ -40,7 +40,7 @@ defmodule Lexical.RemoteControl.Plugin do diagnostics: diagnostics ) - RemoteControl.broadcast(message) + Engine.broadcast(message) end Runner.diagnose(document, on_complete) diff --git a/apps/remote_control/lib/lexical/remote_control/plugin/discovery.ex b/apps/engine/lib/engine/engine/plugin/discovery.ex similarity index 82% rename from apps/remote_control/lib/lexical/remote_control/plugin/discovery.ex rename to apps/engine/lib/engine/engine/plugin/discovery.ex index 4633218c..02d3e317 100644 --- a/apps/remote_control/lib/lexical/remote_control/plugin/discovery.ex +++ b/apps/engine/lib/engine/engine/plugin/discovery.ex @@ -1,22 +1,22 @@ -defmodule Lexical.RemoteControl.Plugin.Discovery do +defmodule Engine.Plugin.Discovery do @moduledoc """ Discovers any plugins in any loaded applications - This module runs through the loaded applications and checks to see if any of them are lexical plugins. + This module runs through the loaded applications and checks to see if any of them are expert plugins. If a plugin is found, the app is then registered with the plugin system. If we're running in a namespaced build, we must apply the same namespace to the plugin's modules, or it - will be looking for structs like `Lexical.Document`, and be passed in structs like `LXRelease.Document`, + will be looking for structs like `Forge.Document`, and be passed in structs like `XPRelease.Document`, and the plugin will crash. """ - alias Lexical.RemoteControl.Module.Loader - alias Lexical.RemoteControl.Plugin.Runner + alias Engine.Module.Loader + alias Engine.Plugin.Runner alias Mix.Tasks.Namespace require Logger - @namespaced_document_module [:Lexical, :Document] + @namespaced_document_module [:Forge, :Document] |> Module.concat() |> Namespace.Module.apply() diff --git a/apps/remote_control/lib/lexical/remote_control/plugin/runner.ex b/apps/engine/lib/engine/engine/plugin/runner.ex similarity index 85% rename from apps/remote_control/lib/lexical/remote_control/plugin/runner.ex rename to apps/engine/lib/engine/engine/plugin/runner.ex index 23af365d..fc51771c 100644 --- a/apps/remote_control/lib/lexical/remote_control/plugin/runner.ex +++ b/apps/engine/lib/engine/engine/plugin/runner.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.Plugin.Runner do +defmodule Engine.Plugin.Runner do @moduledoc false - alias Lexical.Document - alias Lexical.Project - alias Lexical.RemoteControl.Module.Loader - alias Lexical.RemoteControl.Plugin.Runner + alias Forge.Document + alias Forge.Project + alias Engine.Module.Loader + alias Engine.Plugin.Runner require Logger @@ -18,12 +18,12 @@ defmodule Lexical.RemoteControl.Plugin.Runner do @doc false def plugin_module?(module) when is_atom(module) do - function_exported?(module, :__lexical_plugin__, 0) + function_exported?(module, :__expert_plugin__, 0) end @doc false def plugin_app?(app_name) do - Application.get_env(app_name, lexical_prefixed_atom("plugin"), false) + Application.get_env(app_name, expert_prefixed_atom("plugin"), false) end @doc false @@ -111,8 +111,8 @@ defmodule Lexical.RemoteControl.Plugin.Runner do end end - defp lexical_prefixed_atom(suffix) do - ("lexical_" <> suffix) + defp expert_prefixed_atom(suffix) do + ("expert_" <> suffix) |> String.to_atom() end end diff --git a/apps/remote_control/lib/lexical/remote_control/plugin/runner/coordinator.ex b/apps/engine/lib/engine/engine/plugin/runner/coordinator.ex similarity index 84% rename from apps/remote_control/lib/lexical/remote_control/plugin/runner/coordinator.ex rename to apps/engine/lib/engine/engine/plugin/runner/coordinator.ex index 0b99ba34..cf573acb 100644 --- a/apps/remote_control/lib/lexical/remote_control/plugin/runner/coordinator.ex +++ b/apps/engine/lib/engine/engine/plugin/runner/coordinator.ex @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Plugin.Runner.Coordinator do +defmodule Engine.Plugin.Runner.Coordinator do @moduledoc false - alias Lexical.Formats - alias Lexical.RemoteControl.Plugin.Runner.Coordinator.State + alias Forge.Formats + alias Engine.Plugin.Runner.Coordinator.State require Logger use GenServer diff --git a/apps/remote_control/lib/lexical/remote_control/plugin/runner/coordinator/state.ex b/apps/engine/lib/engine/engine/plugin/runner/coordinator/state.ex similarity index 96% rename from apps/remote_control/lib/lexical/remote_control/plugin/runner/coordinator/state.ex rename to apps/engine/lib/engine/engine/plugin/runner/coordinator/state.ex index a30a4617..a8289f12 100644 --- a/apps/remote_control/lib/lexical/remote_control/plugin/runner/coordinator/state.ex +++ b/apps/engine/lib/engine/engine/plugin/runner/coordinator/state.ex @@ -1,7 +1,7 @@ -defmodule Lexical.RemoteControl.Plugin.Runner.Coordinator.State do +defmodule Engine.Plugin.Runner.Coordinator.State do @moduledoc false - alias Lexical.RemoteControl.Plugin.Runner + alias Engine.Plugin.Runner defstruct tasks: [], failures: %{} diff --git a/apps/remote_control/lib/lexical/remote_control/plugin/supervisor.ex b/apps/engine/lib/engine/engine/plugin/supervisor.ex similarity index 87% rename from apps/remote_control/lib/lexical/remote_control/plugin/supervisor.ex rename to apps/engine/lib/engine/engine/plugin/supervisor.ex index ad950873..b6fbf6f3 100644 --- a/apps/remote_control/lib/lexical/remote_control/plugin/supervisor.ex +++ b/apps/engine/lib/engine/engine/plugin/supervisor.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Plugin.Runner.Supervisor do +defmodule Engine.Plugin.Runner.Supervisor do @moduledoc false def child_spec(_) do diff --git a/apps/remote_control/lib/lexical/remote_control/port.ex b/apps/engine/lib/engine/engine/port.ex similarity index 87% rename from apps/remote_control/lib/lexical/remote_control/port.ex rename to apps/engine/lib/engine/engine/port.ex index 05a210de..fe4e7565 100644 --- a/apps/remote_control/lib/lexical/remote_control/port.ex +++ b/apps/engine/lib/engine/engine/port.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.Port do +defmodule Engine.Port do @moduledoc """ Utilities for launching ports in the context of a project """ - alias Lexical.Project - alias Lexical.RemoteControl + alias Forge.Project + alias Engine @type open_opt :: {:env, list()} @@ -18,11 +18,11 @@ defmodule Lexical.RemoteControl.Port do Launches elixir in a port. This function takes the project's context into account and looks for the executable via calling - `RemoteControl.elixir_executable(project)`. Environment variables are also retrieved with that call. + `Engine.elixir_executable(project)`. Environment variables are also retrieved with that call. """ @spec open_elixir(Project.t(), open_opts()) :: port() def open_elixir(%Project{} = project, opts) do - {:ok, elixir_executable, environment_variables} = RemoteControl.elixir_executable(project) + {:ok, elixir_executable, environment_variables} = Engine.elixir_executable(project) opts = opts @@ -64,7 +64,7 @@ defmodule Lexical.RemoteControl.Port do def path({:unix, _}) do with :non_existing <- :code.where_is_file(~c"port_wrapper.sh") do - :remote_control + :engine |> :code.priv_dir() |> Path.join("port_wrapper.sh") |> Path.expand() diff --git a/apps/remote_control/lib/lexical/remote_control/progress.ex b/apps/engine/lib/engine/engine/progress.ex similarity index 69% rename from apps/remote_control/lib/lexical/remote_control/progress.ex rename to apps/engine/lib/engine/engine/progress.ex index 3448609c..f7e32694 100644 --- a/apps/remote_control/lib/lexical/remote_control/progress.ex +++ b/apps/engine/lib/engine/engine/progress.ex @@ -1,13 +1,13 @@ -defmodule Lexical.RemoteControl.Progress do - alias Lexical.RemoteControl +defmodule Engine.Progress do + alias Engine - import Lexical.RemoteControl.Api.Messages + import Engine.Api.Messages @type label :: String.t() @type message :: String.t() @type delta :: pos_integer() - @type on_complete_callback :: (-> any()) + @type on_complete_callback :: (() -> any()) @type report_progress_callback :: (delta(), message() -> any()) defmacro __using__(_) do @@ -16,7 +16,7 @@ defmodule Lexical.RemoteControl.Progress do end end - @spec with_progress(label(), (-> any())) :: any() + @spec with_progress(label(), (() -> any())) :: any() def with_progress(label, func) when is_function(func, 0) do on_complete = begin_progress(label) @@ -41,26 +41,26 @@ defmodule Lexical.RemoteControl.Progress do @spec begin_progress(label :: label()) :: on_complete_callback() def begin_progress(label) do - RemoteControl.broadcast(project_progress(label: label, stage: :begin)) + Engine.broadcast(project_progress(label: label, stage: :begin)) fn -> - RemoteControl.broadcast(project_progress(label: label, stage: :complete)) + Engine.broadcast(project_progress(label: label, stage: :complete)) end end @spec begin_percent(label(), pos_integer()) :: {report_progress_callback(), on_complete_callback()} def begin_percent(label, max) do - RemoteControl.broadcast(percent_progress(label: label, max: max, stage: :begin)) + Engine.broadcast(percent_progress(label: label, max: max, stage: :begin)) report_progress = fn delta, message -> - RemoteControl.broadcast( + Engine.broadcast( percent_progress(label: label, message: message, delta: delta, stage: :report) ) end complete = fn -> - RemoteControl.broadcast(percent_progress(label: label, stage: :complete)) + Engine.broadcast(percent_progress(label: label, stage: :complete)) end {report_progress, complete} diff --git a/apps/remote_control/lib/lexical/remote_control/project_node.ex b/apps/engine/lib/engine/engine/project_node.ex similarity index 94% rename from apps/remote_control/lib/lexical/remote_control/project_node.ex rename to apps/engine/lib/engine/engine/project_node.ex index e79e288f..5656c7ca 100644 --- a/apps/remote_control/lib/lexical/remote_control/project_node.ex +++ b/apps/engine/lib/engine/engine/project_node.ex @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.ProjectNode do - alias Lexical.Project - alias Lexical.RemoteControl +defmodule Engine.ProjectNode do + alias Forge.Project + alias Engine require Logger defmodule State do @@ -40,7 +40,7 @@ defmodule Lexical.RemoteControl.ProjectNode do | path_append_arguments(paths) ] - port = RemoteControl.Port.open_elixir(state.project, args: args) + port = Engine.Port.open_elixir(state.project, args: args) %{state | port: port, started_by: from} end @@ -104,8 +104,8 @@ defmodule Lexical.RemoteControl.ProjectNode do end end - alias Lexical.Document - alias Lexical.RemoteControl.ProjectNodeSupervisor + alias Forge.Document + alias Engine.ProjectNodeSupervisor use GenServer def start(project, paths) do @@ -114,7 +114,7 @@ defmodule Lexical.RemoteControl.ProjectNode do with {:ok, node_pid} <- ProjectNodeSupervisor.start_project_node(project), :ok <- start_node(project, paths), - :ok <- :rpc.call(node_name, RemoteControl.Bootstrap, :init, bootstrap_args) do + :ok <- :rpc.call(node_name, Engine.Bootstrap, :init, bootstrap_args) do {:ok, node_pid} end end diff --git a/apps/remote_control/lib/lexical/remote_control/project_node_supervisor.ex b/apps/engine/lib/engine/engine/project_node_supervisor.ex similarity index 83% rename from apps/remote_control/lib/lexical/remote_control/project_node_supervisor.ex rename to apps/engine/lib/engine/engine/project_node_supervisor.ex index f79cb9ae..59a69af3 100644 --- a/apps/remote_control/lib/lexical/remote_control/project_node_supervisor.ex +++ b/apps/engine/lib/engine/engine/project_node_supervisor.ex @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.ProjectNodeSupervisor do - alias Lexical.Project - alias Lexical.RemoteControl.ProjectNode +defmodule Engine.ProjectNodeSupervisor do + alias Forge.Project + alias Engine.ProjectNode use DynamicSupervisor @dialyzer {:no_return, start_link: 1} diff --git a/apps/remote_control/lib/lexical/remote_control/search/fuzzy.ex b/apps/engine/lib/engine/engine/search/fuzzy.ex similarity index 95% rename from apps/remote_control/lib/lexical/remote_control/search/fuzzy.ex rename to apps/engine/lib/engine/engine/search/fuzzy.ex index 43681828..f3c17f07 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/fuzzy.ex +++ b/apps/engine/lib/engine/engine/search/fuzzy.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Search.Fuzzy do +defmodule Engine.Search.Fuzzy do @moduledoc """ A backend for fuzzy matching @@ -11,10 +11,10 @@ defmodule Lexical.RemoteControl.Search.Fuzzy do returned. """ - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Search.Fuzzy.Scorer - alias Lexical.RemoteControl.Search.Indexer.Entry + alias Forge.Project + alias Engine + alias Engine.Search.Fuzzy.Scorer + alias Engine.Search.Indexer.Entry import Record defstruct subject_to_values: %{}, @@ -289,7 +289,7 @@ defmodule Lexical.RemoteControl.Search.Fuzzy do end defp stringify(mapped(type: :module, subject: module_name)) do - Lexical.Formats.module(module_name) + Forge.Formats.module(module_name) end defp stringify(mapped(subject: string)) when is_binary(string) do @@ -307,10 +307,10 @@ defmodule Lexical.RemoteControl.Search.Fuzzy do defp stringify(atom) when is_atom(atom) do cond do function_exported?(atom, :__info__, 1) -> - Lexical.Formats.module(atom) + Forge.Formats.module(atom) function_exported?(atom, :module_info, 0) -> - Lexical.Formats.module(atom) + Forge.Formats.module(atom) true -> inspect(atom) @@ -340,7 +340,7 @@ defmodule Lexical.RemoteControl.Search.Fuzzy do deps_roots() else {:ok, deps_roots} = - RemoteControl.Mix.in_project(fn _ -> + Engine.Mix.in_project(fn _ -> deps_roots() end) @@ -359,13 +359,13 @@ defmodule Lexical.RemoteControl.Search.Fuzzy do end defp deps_roots do - deps_roots(RemoteControl.get_project()) + deps_roots(Engine.get_project()) end defp deps_roots(%Project{mix_project?: true} = project) do # Note: This function assumes that the deps directories for all # found projects is `deps`. Projects may override this directory - # and lexical won't understand this. This was done because loading + # and expert won't understand this. This was done because loading # each sub-project is expensive and changes our global directory. [Project.root_path(project), "**", "mix.exs"] diff --git a/apps/remote_control/lib/lexical/remote_control/search/fuzzy/scorer.ex b/apps/engine/lib/engine/engine/search/fuzzy/scorer.ex similarity index 99% rename from apps/remote_control/lib/lexical/remote_control/search/fuzzy/scorer.ex rename to apps/engine/lib/engine/engine/search/fuzzy/scorer.ex index 03b1903e..f5e31486 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/fuzzy/scorer.ex +++ b/apps/engine/lib/engine/engine/search/fuzzy/scorer.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Search.Fuzzy.Scorer do +defmodule Engine.Search.Fuzzy.Scorer do @moduledoc """ Scores a match based on heuristics. diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer.ex b/apps/engine/lib/engine/engine/search/indexer.ex similarity index 91% rename from apps/remote_control/lib/lexical/remote_control/search/indexer.ex rename to apps/engine/lib/engine/engine/search/indexer.ex index 56ed87f3..a7739857 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer.ex +++ b/apps/engine/lib/engine/engine/search/indexer.ex @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.Search.Indexer do - alias Lexical.Identifier - alias Lexical.ProcessCache - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Progress - alias Lexical.RemoteControl.Search.Indexer - alias Lexical.RemoteControl.Search.Indexer.Entry +defmodule Engine.Search.Indexer do + alias Forge.Identifier + alias Forge.ProcessCache + alias Forge.Project + alias Engine + alias Engine.Progress + alias Engine.Search.Indexer + alias Engine.Search.Indexer.Entry require ProcessCache @@ -83,7 +83,7 @@ defmodule Lexical.RemoteControl.Search.Indexer do end end - # 128 K blocks indexed lexical in 5.3 seconds + # 128 K blocks indexed expert in 5.3 seconds @bytes_per_block 1024 * 128 defp async_chunks(file_paths, processor, timeout \\ :infinity) do # this function tries to even out the amount of data processed by @@ -201,14 +201,14 @@ defmodule Lexical.RemoteControl.Search.Indexer do end defp deps_dir do - case RemoteControl.Mix.in_project(&Mix.Project.deps_path/0) do + case Engine.Mix.in_project(&Mix.Project.deps_path/0) do {:ok, path} -> path _ -> Mix.Project.deps_path() end end defp build_dir do - case RemoteControl.Mix.in_project(&Mix.Project.build_path/0) do + case Engine.Mix.in_project(&Mix.Project.build_path/0) do {:ok, path} -> path _ -> Mix.Project.build_path() end diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/entry.ex b/apps/engine/lib/engine/engine/search/indexer/entry.ex similarity index 93% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/entry.ex rename to apps/engine/lib/engine/engine/search/indexer/entry.ex index cb17f9f0..cc87ec88 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/entry.ex +++ b/apps/engine/lib/engine/engine/search/indexer/entry.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Entry do +defmodule Engine.Search.Indexer.Entry do @type function_type :: :public | :private | :delegated | :usage @type protocol_type :: :implementation | :definition @@ -40,9 +40,9 @@ defmodule Lexical.RemoteControl.Search.Indexer.Entry do application: module(), subject: subject(), block_id: block_id(), - block_range: Lexical.Document.Range.t() | nil, + block_range: Forge.Document.Range.t() | nil, path: Path.t(), - range: Lexical.Document.Range.t(), + range: Forge.Document.Range.t(), subtype: entry_subtype(), type: entry_type(), metadata: nil | map() @@ -50,9 +50,9 @@ defmodule Lexical.RemoteControl.Search.Indexer.Entry do @type datetime_format :: :erl | :unix | :datetime @type date_type :: :calendar.datetime() | integer() | DateTime.t() - alias Lexical.Identifier - alias Lexical.RemoteControl.Search.Indexer.Source.Block - alias Lexical.StructAccess + alias Forge.Identifier + alias Engine.Search.Indexer.Source.Block + alias Forge.StructAccess use StructAccess diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/ecto_schema.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/ecto_schema.ex similarity index 89% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/ecto_schema.ex rename to apps/engine/lib/engine/engine/search/indexer/extractors/ecto_schema.ex index fd7ff34b..5869c605 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/ecto_schema.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/ecto_schema.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.EctoSchema do - alias Lexical.Ast - alias Lexical.Document.Position - alias Lexical.RemoteControl.Analyzer - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Indexer.Metadata - alias Lexical.RemoteControl.Search.Indexer.Source.Reducer +defmodule Engine.Search.Indexer.Extractors.EctoSchema do + alias Forge.Ast + alias Forge.Document.Position + alias Engine.Analyzer + alias Engine.Search.Indexer.Entry + alias Engine.Search.Indexer.Metadata + alias Engine.Search.Indexer.Source.Reducer def extract( {:schema, meta, [{:__block__, _, [_source]} | _]} = schema_block, diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/ex_unit.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/ex_unit.ex similarity index 90% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/ex_unit.ex rename to apps/engine/lib/engine/engine/search/indexer/extractors/ex_unit.ex index d36f73ab..441a8b6f 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/ex_unit.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/ex_unit.ex @@ -1,13 +1,13 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.ExUnit do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.Formats - alias Lexical.RemoteControl.Analyzer - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Indexer.Metadata - alias Lexical.RemoteControl.Search.Indexer.Source.Reducer +defmodule Engine.Search.Indexer.Extractors.ExUnit do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.Formats + alias Engine.Analyzer + alias Engine.Search.Indexer.Entry + alias Engine.Search.Indexer.Metadata + alias Engine.Search.Indexer.Source.Reducer require Logger diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/function_definition.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/function_definition.ex similarity index 91% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/function_definition.ex rename to apps/engine/lib/engine/engine/search/indexer/extractors/function_definition.ex index 39631474..fa7578b6 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/function_definition.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/function_definition.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.FunctionDefinition do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.RemoteControl.Analyzer - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Indexer.Source.Reducer - alias Lexical.RemoteControl.Search.Subject +defmodule Engine.Search.Indexer.Extractors.FunctionDefinition do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Engine.Analyzer + alias Engine.Search.Indexer.Entry + alias Engine.Search.Indexer.Source.Reducer + alias Engine.Search.Subject @function_definitions [:def, :defp] diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/function_reference.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/function_reference.ex similarity index 90% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/function_reference.ex rename to apps/engine/lib/engine/engine/search/indexer/extractors/function_reference.ex index aee640b2..83d4920b 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/function_reference.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/function_reference.ex @@ -1,13 +1,13 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.FunctionReference do - alias Lexical.Ast - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Indexer.Extractors.FunctionDefinition - alias Lexical.RemoteControl.Search.Indexer.Metadata - alias Lexical.RemoteControl.Search.Indexer.Source.Reducer - alias Lexical.RemoteControl.Search.Subject +defmodule Engine.Search.Indexer.Extractors.FunctionReference do + alias Forge.Ast + alias Forge.Document.Position + alias Forge.Document.Range + alias Engine + alias Engine.Search.Indexer.Entry + alias Engine.Search.Indexer.Extractors.FunctionDefinition + alias Engine.Search.Indexer.Metadata + alias Engine.Search.Indexer.Source.Reducer + alias Engine.Search.Subject require Logger @@ -64,7 +64,7 @@ defmodule Lexical.RemoteControl.Search.Indexer.Extractors.FunctionReference do position = Reducer.position(reducer) {module, _, _} = - RemoteControl.Analyzer.resolve_local_call(reducer.analysis, position, fn_name, arity) + Engine.Analyzer.resolve_local_call(reducer.analysis, position, fn_name, arity) entry = entry(reducer, end_metadata, arity_meta, module, fn_name, arity) {:ok, entry, nil} @@ -110,7 +110,7 @@ defmodule Lexical.RemoteControl.Search.Indexer.Extractors.FunctionReference do Entry.reference( analysis.document.path, Reducer.current_block(reducer), - Lexical.Formats.mfa(module, function_name, arity), + Forge.Formats.mfa(module, function_name, arity), {:function, :usage}, Ast.Range.get(ast, analysis.document), Application.get_application(module) @@ -133,7 +133,7 @@ defmodule Lexical.RemoteControl.Search.Indexer.Extractors.FunctionReference do position = Reducer.position(reducer) {module, _, _} = - RemoteControl.Analyzer.resolve_local_call(reducer.analysis, position, fn_name, arity) + Engine.Analyzer.resolve_local_call(reducer.analysis, position, fn_name, arity) entry = entry(reducer, meta, meta, [module], fn_name, args) @@ -159,7 +159,7 @@ defmodule Lexical.RemoteControl.Search.Indexer.Extractors.FunctionReference do range = get_reference_range(reducer.analysis.document, start_metadata, end_metadata, function_name) - case RemoteControl.Analyzer.expand_alias(module, reducer.analysis, range.start) do + case Engine.Analyzer.expand_alias(module, reducer.analysis, range.start) do {:ok, module} -> mfa = Subject.mfa(module, function_name, arity) diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/module.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/module.ex similarity index 93% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/module.ex rename to apps/engine/lib/engine/engine/search/indexer/extractors/module.ex index e010c3c3..e5560afd 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/module.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/module.ex @@ -1,18 +1,18 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.Module do +defmodule Engine.Search.Indexer.Extractors.Module do @moduledoc """ Extracts module references and definitions from AST """ - alias Lexical.Ast - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.ProcessCache - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Indexer.Metadata - alias Lexical.RemoteControl.Search.Indexer.Source.Block - alias Lexical.RemoteControl.Search.Indexer.Source.Reducer - alias Lexical.RemoteControl.Search.Subject + alias Forge.Ast + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.ProcessCache + alias Engine + alias Engine.Search.Indexer.Entry + alias Engine.Search.Indexer.Metadata + alias Engine.Search.Indexer.Source.Block + alias Engine.Search.Indexer.Source.Reducer + alias Engine.Search.Subject require Logger @@ -128,7 +128,7 @@ defmodule Lexical.RemoteControl.Search.Indexer.Extractors.Module do line = Sourceror.get_line(ast) pos = Position.new(reducer.analysis.document, line - 1, 1) - case RemoteControl.Analyzer.current_module(reducer.analysis, pos) do + case Engine.Analyzer.current_module(reducer.analysis, pos) do {:ok, current_module} -> {start_line, start_col} = Metadata.position(metadata) start_pos = Position.new(reducer.analysis.document, start_line, start_col) @@ -250,7 +250,7 @@ defmodule Lexical.RemoteControl.Search.Indexer.Extractors.Module do defp resolve_alias(%Reducer{} = reducer, unresolved_alias) do position = Reducer.position(reducer) - RemoteControl.Analyzer.expand_alias(unresolved_alias, reducer.analysis, position) + Engine.Analyzer.expand_alias(unresolved_alias, reducer.analysis, position) end defp module(%Reducer{} = reducer, maybe_module) when is_list(maybe_module) do diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/module_attribute.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/module_attribute.ex similarity index 86% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/module_attribute.ex rename to apps/engine/lib/engine/engine/search/indexer/extractors/module_attribute.ex index f182e832..5cb4735f 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/module_attribute.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/module_attribute.ex @@ -1,14 +1,14 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.ModuleAttribute do +defmodule Engine.Search.Indexer.Extractors.ModuleAttribute do @moduledoc """ Extracts module attribute definitions and references from AST """ - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.RemoteControl.Analyzer - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Indexer.Source.Reducer - alias Lexical.RemoteControl.Search.Subject + alias Forge.Document.Position + alias Forge.Document.Range + alias Engine.Analyzer + alias Engine.Search.Indexer.Entry + alias Engine.Search.Indexer.Source.Reducer + alias Engine.Search.Subject require Logger @@ -95,7 +95,7 @@ defmodule Lexical.RemoteControl.Search.Indexer.Extractors.ModuleAttribute do [line: start_line, column: start_column] = Sourceror.get_start_position(attr_ast) end_line = Sourceror.get_end_line(attr_ast) - {:ok, line_text} = Lexical.Document.fetch_text_at(document, end_line) + {:ok, line_text} = Forge.Document.fetch_text_at(document, end_line) # add one because lsp positions are one-based end_column = String.length(line_text) + 1 diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/struct_definition.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/struct_definition.ex similarity index 73% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/struct_definition.ex rename to apps/engine/lib/engine/engine/search/indexer/extractors/struct_definition.ex index b8663a30..cfc28882 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/struct_definition.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/struct_definition.ex @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.StructDefinition do - alias Lexical.Ast - alias Lexical.RemoteControl.Analyzer - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Indexer.Source.Reducer +defmodule Engine.Search.Indexer.Extractors.StructDefinition do + alias Forge.Ast + alias Engine.Analyzer + alias Engine.Search.Indexer.Entry + alias Engine.Search.Indexer.Source.Reducer def extract({:defstruct, _, [_fields]} = definition, %Reducer{} = reducer) do document = reducer.analysis.document diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/struct_reference.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/struct_reference.ex similarity index 89% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/struct_reference.ex rename to apps/engine/lib/engine/engine/search/indexer/extractors/struct_reference.ex index 46b77018..00161f4d 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/struct_reference.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/struct_reference.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.StructReference do - alias Lexical.Ast - alias Lexical.RemoteControl.Analyzer - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Indexer.Source.Reducer - alias Lexical.RemoteControl.Search.Subject +defmodule Engine.Search.Indexer.Extractors.StructReference do + alias Forge.Ast + alias Engine.Analyzer + alias Engine.Search.Indexer.Entry + alias Engine.Search.Indexer.Source.Reducer + alias Engine.Search.Subject require Logger diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/variable.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/variable.ex similarity index 96% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/variable.ex rename to apps/engine/lib/engine/engine/search/indexer/extractors/variable.ex index bd433aee..70ca59d1 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/extractors/variable.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/variable.ex @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.Variable do - alias Lexical.Ast - alias Lexical.RemoteControl.Analyzer - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Indexer.Source.Reducer +defmodule Engine.Search.Indexer.Extractors.Variable do + alias Forge.Ast + alias Engine.Analyzer + alias Engine.Search.Indexer.Entry + alias Engine.Search.Indexer.Source.Reducer @defs [:def, :defmacro, :defp, :defmacrop] diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/metadata.ex b/apps/engine/lib/engine/engine/search/indexer/metadata.ex similarity index 96% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/metadata.ex rename to apps/engine/lib/engine/engine/search/indexer/metadata.ex index e8453219..69dcc181 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/metadata.ex +++ b/apps/engine/lib/engine/engine/search/indexer/metadata.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Metadata do +defmodule Engine.Search.Indexer.Metadata do @moduledoc """ Utilities for extracting location information from AST metadata nodes. """ diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/module.ex b/apps/engine/lib/engine/engine/search/indexer/module.ex similarity index 85% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/module.ex rename to apps/engine/lib/engine/engine/search/indexer/module.ex index 55632bf9..676728cf 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/module.ex +++ b/apps/engine/lib/engine/engine/search/indexer/module.ex @@ -1,5 +1,5 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Module do - alias Lexical.RemoteControl.Search.Indexer +defmodule Engine.Search.Indexer.Module do + alias Engine.Search.Indexer def index(module) do with true <- indexable?(module), diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/quoted.ex b/apps/engine/lib/engine/engine/search/indexer/quoted.ex similarity index 76% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/quoted.ex rename to apps/engine/lib/engine/engine/search/indexer/quoted.ex index 18cac388..e3752061 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/quoted.ex +++ b/apps/engine/lib/engine/engine/search/indexer/quoted.ex @@ -1,7 +1,7 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Quoted do - alias Lexical.Ast.Analysis - alias Lexical.ProcessCache - alias Lexical.RemoteControl.Search.Indexer.Source.Reducer +defmodule Engine.Search.Indexer.Quoted do + alias Forge.Ast.Analysis + alias Forge.ProcessCache + alias Engine.Search.Indexer.Source.Reducer require ProcessCache diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/source.ex b/apps/engine/lib/engine/engine/search/indexer/source.ex similarity index 67% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/source.ex rename to apps/engine/lib/engine/engine/search/indexer/source.ex index cd21c009..f04ac71c 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/source.ex +++ b/apps/engine/lib/engine/engine/search/indexer/source.ex @@ -1,7 +1,7 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Source do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.RemoteControl.Search.Indexer +defmodule Engine.Search.Indexer.Source do + alias Forge.Ast + alias Forge.Document + alias Engine.Search.Indexer require Logger diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/source/block.ex b/apps/engine/lib/engine/engine/search/indexer/source/block.ex similarity index 77% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/source/block.ex rename to apps/engine/lib/engine/engine/search/indexer/source/block.ex index 7cc5cd56..b91f4a2d 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/source/block.ex +++ b/apps/engine/lib/engine/engine/search/indexer/source/block.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Source.Block do +defmodule Engine.Search.Indexer.Source.Block do @moduledoc """ A struct that represents a block of source code """ defstruct [:starts_at, :ends_at, :id, :parent_id] - alias Lexical.Identifier + alias Forge.Identifier def root do %__MODULE__{id: :root} diff --git a/apps/remote_control/lib/lexical/remote_control/search/indexer/source/reducer.ex b/apps/engine/lib/engine/engine/search/indexer/source/reducer.ex similarity index 93% rename from apps/remote_control/lib/lexical/remote_control/search/indexer/source/reducer.ex rename to apps/engine/lib/engine/engine/search/indexer/source/reducer.ex index 9880f030..3b334512 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/indexer/source/reducer.ex +++ b/apps/engine/lib/engine/engine/search/indexer/source/reducer.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Source.Reducer do +defmodule Engine.Search.Indexer.Source.Reducer do @moduledoc """ A module and struct that can reduce over elixir AST via Macro.prewalk/3 @@ -6,12 +6,12 @@ defmodule Lexical.RemoteControl.Search.Indexer.Source.Reducer do with the AST's overall structure, and can focus on extracting content from it. """ - alias Lexical.Ast.Analysis - alias Lexical.Document.Position - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Indexer.Extractors - alias Lexical.RemoteControl.Search.Indexer.Metadata - alias Lexical.RemoteControl.Search.Indexer.Source.Block + alias Forge.Ast.Analysis + alias Forge.Document.Position + alias Engine.Search.Indexer.Entry + alias Engine.Search.Indexer.Extractors + alias Engine.Search.Indexer.Metadata + alias Engine.Search.Indexer.Source.Block defstruct [:analysis, :entries, :position, :blocks, :block_hierarchy, extractors: []] diff --git a/apps/remote_control/lib/lexical/remote_control/search/store.ex b/apps/engine/lib/engine/engine/search/store.ex similarity index 93% rename from apps/remote_control/lib/lexical/remote_control/search/store.ex rename to apps/engine/lib/engine/engine/search/store.ex index 0ad31fb2..c7ac8bb6 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/store.ex +++ b/apps/engine/lib/engine/engine/search/store.ex @@ -1,14 +1,14 @@ -defmodule Lexical.RemoteControl.Search.Store do +defmodule Engine.Search.Store do @moduledoc """ A persistent store for search entries """ - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Store - alias Lexical.RemoteControl.Search.Store.State + alias Forge.Project + alias Engine + alias Engine.Api + alias Engine.Search.Indexer.Entry + alias Engine.Search.Store + alias Engine.Search.Store.State @type index_state :: :empty | :stale @type existing_entries :: [Entry.t()] @@ -29,9 +29,9 @@ defmodule Lexical.RemoteControl.Search.Store do (project :: Project.t(), entries :: existing_entries -> {:ok, new_entries, paths_to_delete} | {:error, term()}) - @backend Application.compile_env(:remote_control, :search_store_backend, Store.Backends.Ets) + @backend Application.compile_env(:engine, :search_store_backend, Store.Backends.Ets) @flush_interval_ms Application.compile_env( - :remote_control, + :engine, :search_store_quiescent_period_ms, 2500 ) @@ -108,7 +108,7 @@ defmodule Lexical.RemoteControl.Search.Store do end defp normalize_init_args([create_index, refresh_index]) do - normalize_init_args([Lexical.RemoteControl.get_project(), create_index, refresh_index]) + normalize_init_args([Engine.get_project(), create_index, refresh_index]) end defp normalize_init_args([%Project{} = project, create_index, refresh_index]) do @@ -130,7 +130,7 @@ defmodule Lexical.RemoteControl.Search.Store do # we have this bandaid. We wait for the first compilation to complete, and then # the search store enables itself, at which point we index the code. - RemoteControl.register_listener(self(), project_compiled()) + Engine.register_listener(self(), project_compiled()) state = State.new(project, create_index, update_index, backend) {:ok, state} end diff --git a/apps/remote_control/lib/lexical/remote_control/search/store/backend.ex b/apps/engine/lib/engine/engine/search/store/backend.ex similarity index 95% rename from apps/remote_control/lib/lexical/remote_control/search/store/backend.ex rename to apps/engine/lib/engine/engine/search/store/backend.ex index 042f4942..7a11857d 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/store/backend.ex +++ b/apps/engine/lib/engine/engine/search/store/backend.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Search.Store.Backend do +defmodule Engine.Search.Store.Backend do @moduledoc """ A behaviour for search store backends """ - alias Lexical.Project - alias Lexical.RemoteControl.Search.Indexer.Entry + alias Forge.Project + alias Engine.Search.Indexer.Entry @type version :: pos_integer() @type priv_state :: term() diff --git a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets.ex b/apps/engine/lib/engine/engine/search/store/backends/ets.ex similarity index 93% rename from apps/remote_control/lib/lexical/remote_control/search/store/backends/ets.ex rename to apps/engine/lib/engine/engine/search/store/backends/ets.ex index 144fa2eb..d17290d1 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets.ex +++ b/apps/engine/lib/engine/engine/search/store/backends/ets.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Search.Store.Backends.Ets do - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Store.Backend - alias Lexical.RemoteControl.Search.Store.Backends.Ets.State +defmodule Engine.Search.Store.Backends.Ets do + alias Forge.Project + alias Engine + alias Engine.Search.Indexer.Entry + alias Engine.Search.Store.Backend + alias Engine.Search.Store.Backends.Ets.State use GenServer @@ -94,7 +94,7 @@ defmodule Lexical.RemoteControl.Search.Store.Backends.Ets do end def start_link do - start_link(RemoteControl.get_project()) + start_link(Engine.get_project()) end def child_spec([%Project{}] = init_args) do @@ -102,7 +102,7 @@ defmodule Lexical.RemoteControl.Search.Store.Backends.Ets do end def child_spec(_) do - child_spec([RemoteControl.get_project()]) + child_spec([Engine.get_project()]) end @impl GenServer @@ -179,7 +179,7 @@ defmodule Lexical.RemoteControl.Search.Store.Backends.Ets do end defp genserver_name do - genserver_name(RemoteControl.get_project()) + genserver_name(Engine.get_project()) end defp genserver_name(%Project{} = project) do diff --git a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schema.ex b/apps/engine/lib/engine/engine/search/store/backends/ets/schema.ex similarity index 96% rename from apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schema.ex rename to apps/engine/lib/engine/engine/search/store/backends/ets/schema.ex index 0c9e7ad7..532320e7 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schema.ex +++ b/apps/engine/lib/engine/engine/search/store/backends/ets/schema.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.Schema do +defmodule Engine.Search.Store.Backends.Ets.Schema do @moduledoc """ A use-able module that allows ETS schemas to be created and migrated. @@ -16,7 +16,7 @@ defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.Schema do quote do @behaviour unquote(__MODULE__) @version unquote(version) - alias Lexical.Project + alias Forge.Project import unquote(__MODULE__), only: [defkey: 2] def version do @@ -28,7 +28,7 @@ defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.Schema do end def table_name do - :"lexical_search_v#{@version}" + :"expert_search_v#{@version}" end def table_options do @@ -43,9 +43,9 @@ defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.Schema do end end - alias Lexical.Project - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Store.Backends.Ets.Wal + alias Forge.Project + alias Engine.Search.Indexer.Entry + alias Engine.Search.Store.Backends.Ets.Wal import Wal, only: :macros diff --git a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schemas/legacy_v0.ex b/apps/engine/lib/engine/engine/search/store/backends/ets/schemas/legacy_v0.ex similarity index 69% rename from apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schemas/legacy_v0.ex rename to apps/engine/lib/engine/engine/search/store/backends/ets/schemas/legacy_v0.ex index 57253244..65c1155d 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schemas/legacy_v0.ex +++ b/apps/engine/lib/engine/engine/search/store/backends/ets/schemas/legacy_v0.ex @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.Schemas.LegacyV0 do +defmodule Engine.Search.Store.Backends.Ets.Schemas.LegacyV0 do @moduledoc """ A legacy version of the schema. We pushed the initial indexer to main before we added schemas and versioning. This represents that schema type, hence the non-versioned name. """ - alias Lexical.RemoteControl.Search.Store.Backends.Ets.Schema + alias Engine.Search.Store.Backends.Ets.Schema use Schema, version: 0 diff --git a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schemas/v1.ex b/apps/engine/lib/engine/engine/search/store/backends/ets/schemas/v1.ex similarity index 90% rename from apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schemas/v1.ex rename to apps/engine/lib/engine/engine/search/store/backends/ets/schemas/v1.ex index 5653a3ec..502f81d9 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schemas/v1.ex +++ b/apps/engine/lib/engine/engine/search/store/backends/ets/schemas/v1.ex @@ -1,4 +1,4 @@ -defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.Schemas.V1 do +defmodule Engine.Search.Store.Backends.Ets.Schemas.V1 do @moduledoc """ This schema uses a bit of data duplication in order to achieve good performance. @@ -9,8 +9,8 @@ defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.Schemas.V1 do """ - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Store.Backends.Ets.Schema + alias Engine.Search.Indexer.Entry + alias Engine.Search.Store.Backends.Ets.Schema use Schema, version: 1 diff --git a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schemas/v2.ex b/apps/engine/lib/engine/engine/search/store/backends/ets/schemas/v2.ex similarity index 88% rename from apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schemas/v2.ex rename to apps/engine/lib/engine/engine/search/store/backends/ets/schemas/v2.ex index ce326b65..13fec328 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schemas/v2.ex +++ b/apps/engine/lib/engine/engine/search/store/backends/ets/schemas/v2.ex @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.Schemas.V2 do - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Store.Backends.Ets.Schema +defmodule Engine.Search.Store.Backends.Ets.Schemas.V2 do + alias Engine.Search.Indexer.Entry + alias Engine.Search.Store.Backends.Ets.Schema require Entry use Schema, version: 2 diff --git a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schemas/v3.ex b/apps/engine/lib/engine/engine/search/store/backends/ets/schemas/v3.ex similarity index 90% rename from apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schemas/v3.ex rename to apps/engine/lib/engine/engine/search/store/backends/ets/schemas/v3.ex index 98c36f77..19713ca2 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/schemas/v3.ex +++ b/apps/engine/lib/engine/engine/search/store/backends/ets/schemas/v3.ex @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.Schemas.V3 do - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Store.Backends.Ets.Schema +defmodule Engine.Search.Store.Backends.Ets.Schemas.V3 do + alias Engine.Search.Indexer.Entry + alias Engine.Search.Store.Backends.Ets.Schema require Entry use Schema, version: 3 diff --git a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/state.ex b/apps/engine/lib/engine/engine/search/store/backends/ets/state.ex similarity index 95% rename from apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/state.ex rename to apps/engine/lib/engine/engine/search/store/backends/ets/state.ex index 08891fa3..6ac589e3 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/state.ex +++ b/apps/engine/lib/engine/engine/search/store/backends/ets/state.ex @@ -1,15 +1,15 @@ -defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.State do +defmodule Engine.Search.Store.Backends.Ets.State do @moduledoc """ An ETS based search backend This backend uses an ETS table to store its data using a schema defined in the schemas submodule. """ - alias Lexical.Project - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Store.Backends.Ets.Schema - alias Lexical.RemoteControl.Search.Store.Backends.Ets.Schemas - alias Lexical.RemoteControl.Search.Store.Backends.Ets.Wal + alias Forge.Project + alias Engine.Search.Indexer.Entry + alias Engine.Search.Store.Backends.Ets.Schema + alias Engine.Search.Store.Backends.Ets.Schemas + alias Engine.Search.Store.Backends.Ets.Wal @schema_order [ Schemas.LegacyV0, diff --git a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/wal.ex b/apps/engine/lib/engine/engine/search/store/backends/ets/wal.ex similarity index 98% rename from apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/wal.ex rename to apps/engine/lib/engine/engine/search/store/backends/ets/wal.ex index ef092838..401e6f5a 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/store/backends/ets/wal.ex +++ b/apps/engine/lib/engine/engine/search/store/backends/ets/wal.ex @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.Wal do +defmodule Engine.Search.Store.Backends.Ets.Wal do @moduledoc """ A (hopefully) simple write-ahead log """ - alias Lexical.Identifier - alias Lexical.Project - alias Lexical.VM.Versions + alias Forge.Identifier + alias Forge.Project + alias Forge.VM.Versions import Record diff --git a/apps/remote_control/lib/lexical/remote_control/search/store/state.ex b/apps/engine/lib/engine/engine/search/store/state.ex similarity index 96% rename from apps/remote_control/lib/lexical/remote_control/search/store/state.ex rename to apps/engine/lib/engine/engine/search/store/state.ex index 9742282f..df811386 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/store/state.ex +++ b/apps/engine/lib/engine/engine/search/store/state.ex @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Search.Store.State do - alias Lexical.Project - alias Lexical.RemoteControl.Api.Messages - alias Lexical.RemoteControl.Dispatch - alias Lexical.RemoteControl.Search.Fuzzy - alias Lexical.RemoteControl.Search.Indexer.Entry +defmodule Engine.Search.Store.State do + alias Forge.Project + alias Engine.Api.Messages + alias Engine.Dispatch + alias Engine.Search.Fuzzy + alias Engine.Search.Indexer.Entry require Logger import Messages diff --git a/apps/remote_control/lib/lexical/remote_control/search/subject.ex b/apps/engine/lib/engine/engine/search/subject.ex similarity index 80% rename from apps/remote_control/lib/lexical/remote_control/search/subject.ex rename to apps/engine/lib/engine/engine/search/subject.ex index 1e701042..ce3659f4 100644 --- a/apps/remote_control/lib/lexical/remote_control/search/subject.ex +++ b/apps/engine/lib/engine/engine/search/subject.ex @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Search.Subject do +defmodule Engine.Search.Subject do @moduledoc """ Functions for converting to a search entry's subject field """ - alias Lexical.Formats + alias Forge.Formats def module(module) do module diff --git a/apps/remote_control/lib/mix/tasks/namespace.ex b/apps/engine/lib/mix/tasks/namespace.ex similarity index 91% rename from apps/remote_control/lib/mix/tasks/namespace.ex rename to apps/engine/lib/mix/tasks/namespace.ex index 00353b82..9a996ffd 100644 --- a/apps/remote_control/lib/mix/tasks/namespace.ex +++ b/apps/engine/lib/mix/tasks/namespace.ex @@ -1,6 +1,6 @@ defmodule Mix.Tasks.Namespace do @moduledoc """ - This task is used after a release is assembled, and investigates the remote_control + This task is used after a release is assembled, and investigates the engine app for its dependencies, at which point it applies transformers to various parts of the app. @@ -10,7 +10,7 @@ defmodule Mix.Tasks.Namespace do This task takes a single argument, which is the full path to the release. """ - alias Lexical.Ast + alias Forge.Ast alias Mix.Tasks.Namespace.Transform use Mix.Task @@ -20,13 +20,14 @@ defmodule Mix.Tasks.Namespace do # by this task. Plugin discovery uses this task, which happens after # namespacing. @extra_apps %{ - "proto" => "Lexical", - "protocol" => "Lexical", - "remote_control" => "Lexical", - "server" => "Lexical" + "proto" => "Expert", + "protocol" => "Expert", + "engine" => "Engine", + "expert" => "Expert", + "forge" => "Forge", } - @deps_apps Lexical.RemoteControl.MixProject.project() + @deps_apps Engine.MixProject.project() |> Keyword.get(:deps) |> Enum.map(&elem(&1, 0)) |> then(fn dep_names -> dep_names -- @dev_deps end) @@ -75,7 +76,7 @@ defmodule Mix.Tasks.Namespace do all_modules = app_modules(app_name) case Enum.filter(all_modules, fn module -> length(safe_split_module(module)) == 1 end) do - [] -> {app_name, [Lexical]} + [] -> {app_name, [Expert]} root_modules -> {app_name, root_modules} end end) @@ -91,7 +92,7 @@ defmodule Mix.Tasks.Namespace do modules _ -> - [Lexical] + [Expert] end end diff --git a/apps/remote_control/lib/mix/tasks/namespace/abstract.ex b/apps/engine/lib/mix/tasks/namespace/abstract.ex similarity index 100% rename from apps/remote_control/lib/mix/tasks/namespace/abstract.ex rename to apps/engine/lib/mix/tasks/namespace/abstract.ex diff --git a/apps/remote_control/lib/mix/tasks/namespace/code.ex b/apps/engine/lib/mix/tasks/namespace/code.ex similarity index 100% rename from apps/remote_control/lib/mix/tasks/namespace/code.ex rename to apps/engine/lib/mix/tasks/namespace/code.ex diff --git a/apps/remote_control/lib/mix/tasks/namespace/module.ex b/apps/engine/lib/mix/tasks/namespace/module.ex similarity index 84% rename from apps/remote_control/lib/mix/tasks/namespace/module.ex rename to apps/engine/lib/mix/tasks/namespace/module.ex index 54833af6..cb8ab29b 100644 --- a/apps/remote_control/lib/mix/tasks/namespace/module.ex +++ b/apps/engine/lib/mix/tasks/namespace/module.ex @@ -1,7 +1,7 @@ defmodule Mix.Tasks.Namespace.Module do alias Mix.Tasks.Namespace - @namespace_prefix "LX" + @namespace_prefix "XP" def apply(module_name) do cond do @@ -9,7 +9,7 @@ defmodule Mix.Tasks.Namespace.Module do module_name module_name in Namespace.app_names() -> - :"lx_#{module_name}" + :"xp_#{module_name}" true -> module_name @@ -30,12 +30,12 @@ defmodule Mix.Tasks.Namespace.Module do def prefixed?(@namespace_prefix <> _), do: true - def prefixed?("lx_" <> _), + def prefixed?("xp" <> _), do: true - def prefixed?([?l, ?x, ?_ | _]), do: true - def prefixed?([?E, ?l, ?i, ?x, ?i, ?r, ?., ?L, ?X | _]), do: true - def prefixed?([?L, ?X | _]), do: true + def prefixed?([?x, ?p, ?_ | _]), do: true + def prefixed?([?E, ?l, ?i, ?x, ?i, ?r, ?., ?X, ?P | _]), do: true + def prefixed?([?X, ?P | _]), do: true def prefixed?(_), do: false @@ -69,8 +69,8 @@ defmodule Mix.Tasks.Namespace.Module do String.contains?(candidate, append_trailing_period(root_module)) end - defp namespace("Lexical") do - "#{@namespace_prefix}ical" + defp namespace("Expert") do + "#{@namespace_prefix}ert" end defp namespace(orig) do diff --git a/apps/remote_control/lib/mix/tasks/namespace/path.ex b/apps/engine/lib/mix/tasks/namespace/path.ex similarity index 100% rename from apps/remote_control/lib/mix/tasks/namespace/path.ex rename to apps/engine/lib/mix/tasks/namespace/path.ex diff --git a/apps/remote_control/lib/mix/tasks/namespace/transform/app_directories.ex b/apps/engine/lib/mix/tasks/namespace/transform/app_directories.ex similarity index 100% rename from apps/remote_control/lib/mix/tasks/namespace/transform/app_directories.ex rename to apps/engine/lib/mix/tasks/namespace/transform/app_directories.ex diff --git a/apps/remote_control/lib/mix/tasks/namespace/transform/apps.ex b/apps/engine/lib/mix/tasks/namespace/transform/apps.ex similarity index 97% rename from apps/remote_control/lib/mix/tasks/namespace/transform/apps.ex rename to apps/engine/lib/mix/tasks/namespace/transform/apps.ex index c6de667f..a3c1e938 100644 --- a/apps/remote_control/lib/mix/tasks/namespace/transform/apps.ex +++ b/apps/engine/lib/mix/tasks/namespace/transform/apps.ex @@ -66,7 +66,7 @@ defmodule Mix.Tasks.Namespace.Transform.Apps do end defp visit({:description, desc}) do - {:description, desc ++ ~c" namespaced by lexical."} + {:description, desc ++ ~c" namespaced by expert."} end defp visit({:mod, {module_name, args}}) do diff --git a/apps/remote_control/lib/mix/tasks/namespace/transform/beams.ex b/apps/engine/lib/mix/tasks/namespace/transform/beams.ex similarity index 100% rename from apps/remote_control/lib/mix/tasks/namespace/transform/beams.ex rename to apps/engine/lib/mix/tasks/namespace/transform/beams.ex diff --git a/apps/remote_control/lib/mix/tasks/namespace/transform/boots.ex b/apps/engine/lib/mix/tasks/namespace/transform/boots.ex similarity index 100% rename from apps/remote_control/lib/mix/tasks/namespace/transform/boots.ex rename to apps/engine/lib/mix/tasks/namespace/transform/boots.ex diff --git a/apps/remote_control/lib/mix/tasks/namespace/transform/configs.ex b/apps/engine/lib/mix/tasks/namespace/transform/configs.ex similarity index 100% rename from apps/remote_control/lib/mix/tasks/namespace/transform/configs.ex rename to apps/engine/lib/mix/tasks/namespace/transform/configs.ex diff --git a/apps/remote_control/lib/mix/tasks/namespace/transform/erlang.ex b/apps/engine/lib/mix/tasks/namespace/transform/erlang.ex similarity index 100% rename from apps/remote_control/lib/mix/tasks/namespace/transform/erlang.ex rename to apps/engine/lib/mix/tasks/namespace/transform/erlang.ex diff --git a/apps/remote_control/lib/mix/tasks/namespace/transform/scripts.ex b/apps/engine/lib/mix/tasks/namespace/transform/scripts.ex similarity index 97% rename from apps/remote_control/lib/mix/tasks/namespace/transform/scripts.ex rename to apps/engine/lib/mix/tasks/namespace/transform/scripts.ex index 6947b9ce..37ea5271 100644 --- a/apps/remote_control/lib/mix/tasks/namespace/transform/scripts.ex +++ b/apps/engine/lib/mix/tasks/namespace/transform/scripts.ex @@ -22,7 +22,7 @@ defmodule Mix.Tasks.Namespace.Transform.Scripts do end end - @script_names ~w(start.script start_clean.script lexical.rel) + @script_names ~w(start.script start_clean.script expert.rel) defp find_scripts(base_directory) do scripts_glob = "{" <> Enum.join(@script_names, ",") <> "}" diff --git a/apps/remote_control/mix.exs b/apps/engine/mix.exs similarity index 88% rename from apps/remote_control/mix.exs rename to apps/engine/mix.exs index ed954516..ce4f0eb5 100644 --- a/apps/remote_control/mix.exs +++ b/apps/engine/mix.exs @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.MixProject do +defmodule Engine.MixProject do use Mix.Project Code.require_file("../../mix_includes.exs") def project do [ - app: :remote_control, + app: :engine, version: "0.7.2", elixir: "~> 1.15", start_permanent: Mix.env() == :prod, @@ -19,7 +19,7 @@ defmodule Lexical.RemoteControl.MixProject do def application do [ extra_applications: [:logger, :sasl, :eex, :path_glob], - mod: {Lexical.RemoteControl.Application, []} + mod: {Engine.Application, []} ] end @@ -41,7 +41,7 @@ defmodule Lexical.RemoteControl.MixProject do defp deps do [ {:benchee, "~> 1.3", only: :test}, - {:common, path: "../common", env: Mix.env()}, + {:forge, path: "../forge", env: Mix.env()}, Mix.Credo.dependency(), Mix.Dialyzer.dependency(), {:elixir_sense, diff --git a/apps/remote_control/mix.lock b/apps/engine/mix.lock similarity index 100% rename from apps/remote_control/mix.lock rename to apps/engine/mix.lock diff --git a/apps/remote_control/priv/port_wrapper.sh b/apps/engine/priv/port_wrapper.sh similarity index 100% rename from apps/remote_control/priv/port_wrapper.sh rename to apps/engine/priv/port_wrapper.sh diff --git a/apps/remote_control/test/lexical/remote_control/analyzer/aliases_test.exs b/apps/engine/test/engine/analyzer/aliases_test.exs similarity index 98% rename from apps/remote_control/test/lexical/remote_control/analyzer/aliases_test.exs rename to apps/engine/test/engine/analyzer/aliases_test.exs index 956d77d1..31da1824 100644 --- a/apps/remote_control/test/lexical/remote_control/analyzer/aliases_test.exs +++ b/apps/engine/test/engine/analyzer/aliases_test.exs @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.Analyzer.AliasesTest do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.RemoteControl.Analyzer - - import Lexical.Test.CursorSupport - import Lexical.Test.CodeSigil - import Lexical.Test.RangeSupport +defmodule Engine.Analyzer.AliasesTest do + alias Forge.Ast + alias Forge.Document + alias Engine.Analyzer + + import Forge.Test.CursorSupport + import Forge.Test.CodeSigil + import Forge.Test.RangeSupport use ExUnit.Case diff --git a/apps/remote_control/test/lexical/remote_control/analyzer/imports_test.exs b/apps/engine/test/engine/analyzer/imports_test.exs similarity index 98% rename from apps/remote_control/test/lexical/remote_control/analyzer/imports_test.exs rename to apps/engine/test/engine/analyzer/imports_test.exs index 7b84f6e3..cde04b39 100644 --- a/apps/remote_control/test/lexical/remote_control/analyzer/imports_test.exs +++ b/apps/engine/test/engine/analyzer/imports_test.exs @@ -37,12 +37,12 @@ defmodule WithSigils do end end -defmodule Lexical.Ast.Analysis.ImportsTest do - alias Lexical.Ast - alias Lexical.RemoteControl.Analyzer +defmodule Engine.Ast.Analysis.ImportsTest do + alias Forge.Ast + alias Engine.Analyzer alias Parent.Child.ImportedModule - import Lexical.Test.CursorSupport - import Lexical.Test.CodeSigil + import Forge.Test.CursorSupport + import Forge.Test.CodeSigil use ExUnit.Case diff --git a/apps/remote_control/test/lexical/remote_control/analyzer/requires_test.exs b/apps/engine/test/engine/analyzer/requires_test.exs similarity index 91% rename from apps/remote_control/test/lexical/remote_control/analyzer/requires_test.exs rename to apps/engine/test/engine/analyzer/requires_test.exs index b19a07a7..576a7346 100644 --- a/apps/remote_control/test/lexical/remote_control/analyzer/requires_test.exs +++ b/apps/engine/test/engine/analyzer/requires_test.exs @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Analyzer.RequiresTest do - alias Lexical.Ast - alias Lexical.RemoteControl.Analyzer +defmodule Engine.Analyzer.RequiresTest do + alias Forge.Ast + alias Engine.Analyzer - import Lexical.Test.CursorSupport - import Lexical.Test.CodeSigil + import Forge.Test.CursorSupport + import Forge.Test.CodeSigil use ExUnit.Case diff --git a/apps/remote_control/test/lexical/remote_control/analyzer/uses_test.exs b/apps/engine/test/engine/analyzer/uses_test.exs similarity index 92% rename from apps/remote_control/test/lexical/remote_control/analyzer/uses_test.exs rename to apps/engine/test/engine/analyzer/uses_test.exs index 19f342b7..5a28cd9a 100644 --- a/apps/remote_control/test/lexical/remote_control/analyzer/uses_test.exs +++ b/apps/engine/test/engine/analyzer/uses_test.exs @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Analyzer.UsesTest do - alias Lexical.Ast - alias Lexical.RemoteControl.Analyzer +defmodule Engine.Analyzer.UsesTest do + alias Forge.Ast + alias Engine.Analyzer - import Lexical.Test.CursorSupport - import Lexical.Test.CodeSigil + import Forge.Test.CursorSupport + import Forge.Test.CodeSigil use ExUnit.Case diff --git a/apps/remote_control/test/lexical/remote_control/analyzer_test.exs b/apps/engine/test/engine/analyzer_test.exs similarity index 97% rename from apps/remote_control/test/lexical/remote_control/analyzer_test.exs rename to apps/engine/test/engine/analyzer_test.exs index 4b7ed6ff..664d1ff5 100644 --- a/apps/remote_control/test/lexical/remote_control/analyzer_test.exs +++ b/apps/engine/test/engine/analyzer_test.exs @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.AnalyzerTest do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.RemoteControl.Analyzer +defmodule Engine.AnalyzerTest do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Engine.Analyzer - import Lexical.Test.CodeSigil - import Lexical.Test.CursorSupport + import Forge.Test.CodeSigil + import Forge.Test.CursorSupport use ExUnit.Case, async: true diff --git a/apps/remote_control/test/lexical/remote_control/api/proxy/buffering_state_test.exs b/apps/engine/test/engine/api/proxy/buffering_state_test.exs similarity index 92% rename from apps/remote_control/test/lexical/remote_control/api/proxy/buffering_state_test.exs rename to apps/engine/test/engine/api/proxy/buffering_state_test.exs index 851a7a94..f9d4b10f 100644 --- a/apps/remote_control/test/lexical/remote_control/api/proxy/buffering_state_test.exs +++ b/apps/engine/test/engine/api/proxy/buffering_state_test.exs @@ -1,13 +1,13 @@ -defmodule Lexical.RemoteControl.Api.Proxy.BufferingStateStateTest do - alias Lexical.Document - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api.Messages - alias Lexical.RemoteControl.Api.Proxy - alias Lexical.RemoteControl.Api.Proxy.BufferingState - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Commands - - import Lexical.Test.Fixtures +defmodule Engine.Api.Proxy.BufferingStateStateTest do + alias Forge.Document + alias Engine + alias Engine.Api.Messages + alias Engine.Api.Proxy + alias Engine.Api.Proxy.BufferingState + alias Engine.Build + alias Engine.Commands + + import Engine.Test.Fixtures import Messages import Proxy.Records @@ -134,7 +134,7 @@ defmodule Lexical.RemoteControl.Api.Proxy.BufferingStateStateTest do mfa message -> - mfa(module: RemoteControl.Dispatch, function: :broadcast, arguments: [message]) + mfa(module: Engine.Dispatch, function: :broadcast, arguments: [message]) end) end diff --git a/apps/remote_control/test/lexical/remote_control/api/proxy_test.exs b/apps/engine/test/engine/api/proxy_test.exs similarity index 92% rename from apps/remote_control/test/lexical/remote_control/api/proxy_test.exs rename to apps/engine/test/engine/api/proxy_test.exs index 51a6f770..d50dd0ec 100644 --- a/apps/remote_control/test/lexical/remote_control/api/proxy_test.exs +++ b/apps/engine/test/engine/api/proxy_test.exs @@ -1,26 +1,26 @@ -defmodule Lexical.RemoteControl.Api.ProxyTest do - alias Lexical.Document - alias Lexical.Document.Changes - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api - alias Lexical.RemoteControl.Api.Proxy - alias Lexical.RemoteControl.Api.Proxy.BufferingState - alias Lexical.RemoteControl.Api.Proxy.DrainingState - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.CodeMod - alias Lexical.RemoteControl.Commands - alias Lexical.RemoteControl.Dispatch +defmodule Engine.Api.ProxyTest do + alias Forge.Document + alias Forge.Document.Changes + alias Engine + alias Engine.Api + alias Engine.Api.Proxy + alias Engine.Api.Proxy.BufferingState + alias Engine.Api.Proxy.DrainingState + alias Engine.Build + alias Engine.CodeMod + alias Engine.Commands + alias Engine.Dispatch use ExUnit.Case use Patch import Api.Messages - import Lexical.Test.Fixtures + import Engine.Test.Fixtures setup do start_supervised!(Api.Proxy) project = project() - RemoteControl.set_project(project) + Engine.set_project(project) {:ok, project: project} end diff --git a/apps/remote_control/test/lexical/remote_control/build/document/compilers/config_test.exs b/apps/engine/test/engine/build/document/compilers/config_test.exs similarity index 94% rename from apps/remote_control/test/lexical/remote_control/build/document/compilers/config_test.exs rename to apps/engine/test/engine/build/document/compilers/config_test.exs index e8fb49df..4e320efa 100644 --- a/apps/remote_control/test/lexical/remote_control/build/document/compilers/config_test.exs +++ b/apps/engine/test/engine/build/document/compilers/config_test.exs @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Build.Document.Compilers.ConfigTest do - alias Lexical.Document - alias Lexical.RemoteControl.Build.Document.Compilers +defmodule Engine.Build.Document.Compilers.ConfigTest do + alias Forge.Document + alias Engine.Build.Document.Compilers use ExUnit.Case - import Lexical.Test.CodeSigil + import Forge.Test.CodeSigil import Compilers.Config def document_with_path(left, right) do @@ -126,7 +126,7 @@ defmodule Lexical.RemoteControl.Build.Document.Compilers.ConfigTest do ~q[ import Config - System.fetch_env!("_LEXICAL_NON_EXISTING_ENV_VAR_") + System.fetch_env!("_EXPERT_NON_EXISTING_ENV_VAR_") ] |> document() |> compile() diff --git a/apps/remote_control/test/lexical/remote_control/build/document/compilers/eex_test.exs b/apps/engine/test/engine/build/document/compilers/eex_test.exs similarity index 90% rename from apps/remote_control/test/lexical/remote_control/build/document/compilers/eex_test.exs rename to apps/engine/test/engine/build/document/compilers/eex_test.exs index 08e45da8..07d733ec 100644 --- a/apps/remote_control/test/lexical/remote_control/build/document/compilers/eex_test.exs +++ b/apps/engine/test/engine/build/document/compilers/eex_test.exs @@ -1,19 +1,19 @@ -defmodule Lexical.RemoteControl.Build.Document.Compilers.EExTest do - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic.Result - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Build.CaptureServer - alias Lexical.RemoteControl.Build.Document.Compilers - alias Lexical.RemoteControl.Dispatch - alias Lexical.RemoteControl.ModuleMappings +defmodule Engine.Build.Document.Compilers.EExTest do + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic.Result + alias Engine.Build + alias Engine.Build.CaptureServer + alias Engine.Build.Document.Compilers + alias Engine.Dispatch + alias Engine.ModuleMappings use ExUnit.Case import Compilers.EEx, only: [recognizes?: 1] - import Lexical.Test.Quiet - import Lexical.Test.CodeSigil - import Lexical.Test.DiagnosticSupport - import Lexical.Test.RangeSupport + import Forge.Test.Quiet + import Forge.Test.CodeSigil + import Forge.Test.DiagnosticSupport + import Forge.Test.RangeSupport def with_capture_server(_) do start_supervised!(CaptureServer) diff --git a/apps/remote_control/test/lexical/remote_control/build/document/compilers/elixir_test.exs b/apps/engine/test/engine/build/document/compilers/elixir_test.exs similarity index 86% rename from apps/remote_control/test/lexical/remote_control/build/document/compilers/elixir_test.exs rename to apps/engine/test/engine/build/document/compilers/elixir_test.exs index b2dc3b95..7ffc1946 100644 --- a/apps/remote_control/test/lexical/remote_control/build/document/compilers/elixir_test.exs +++ b/apps/engine/test/engine/build/document/compilers/elixir_test.exs @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.Build.Document.Compilers.ElixirTest do - alias Lexical.Document - alias Lexical.RemoteControl.Build.Document.Compilers +defmodule Engine.Build.Document.Compilers.ElixirTest do + alias Forge.Document + alias Engine.Build.Document.Compilers use ExUnit.Case import Compilers.Elixir diff --git a/apps/remote_control/test/lexical/remote_control/build/document/compilers/heex_test.exs b/apps/engine/test/engine/build/document/compilers/heex_test.exs similarity index 88% rename from apps/remote_control/test/lexical/remote_control/build/document/compilers/heex_test.exs rename to apps/engine/test/engine/build/document/compilers/heex_test.exs index 54e86376..a97d5eda 100644 --- a/apps/remote_control/test/lexical/remote_control/build/document/compilers/heex_test.exs +++ b/apps/engine/test/engine/build/document/compilers/heex_test.exs @@ -1,14 +1,14 @@ -defmodule Lexical.RemoteControl.Build.Document.Compilers.HeexTest do - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic.Result - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Build.CaptureServer - alias Lexical.RemoteControl.Build.Document.Compilers - alias Lexical.RemoteControl.Dispatch - alias Lexical.RemoteControl.ModuleMappings - - import Lexical.Test.CodeSigil - import Lexical.Test.Quiet +defmodule Engine.Build.Document.Compilers.HeexTest do + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic.Result + alias Engine.Build + alias Engine.Build.CaptureServer + alias Engine.Build.Document.Compilers + alias Engine.Dispatch + alias Engine.ModuleMappings + + import Forge.Test.CodeSigil + import Forge.Test.Quiet use ExUnit.Case def with_capture_server(_) do diff --git a/apps/remote_control/test/lexical/remote_control/build/document/compilers/quoted_test.exs b/apps/engine/test/engine/build/document/compilers/quoted_test.exs similarity index 89% rename from apps/remote_control/test/lexical/remote_control/build/document/compilers/quoted_test.exs rename to apps/engine/test/engine/build/document/compilers/quoted_test.exs index b11c2c6f..49f04acd 100644 --- a/apps/remote_control/test/lexical/remote_control/build/document/compilers/quoted_test.exs +++ b/apps/engine/test/engine/build/document/compilers/quoted_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.RemoteControl.Build.Document.Compilers.QuotedTest do - alias Lexical.RemoteControl.Build.Document.Compilers.Quoted +defmodule Engine.Build.Document.Compilers.QuotedTest do + alias Engine.Build.Document.Compilers.Quoted - import Lexical.Test.CodeSigil + import Forge.Test.CodeSigil use ExUnit.Case, async: true @@ -27,8 +27,8 @@ defmodule Lexical.RemoteControl.Build.Document.Compilers.QuotedTest do |> parse!() assert quoted |> Quoted.wrap_top_level_forms() |> Macro.to_string() == """ - defmodule :lexical_wrapper_0 do - def __lexical_wrapper__([]) do + defmodule :expert_wrapper_0 do + def __expert_wrapper__([]) do foo = 1 _ = foo + 1 end @@ -40,8 +40,8 @@ defmodule Lexical.RemoteControl.Build.Document.Compilers.QuotedTest do :ok end - defmodule :lexical_wrapper_2 do - def __lexical_wrapper__([foo, bar]) do + defmodule :expert_wrapper_2 do + def __expert_wrapper__([foo, bar]) do _ = bar + foo end end\ diff --git a/apps/remote_control/test/lexical/remote_control/build/error/parse_test.exs b/apps/engine/test/engine/build/error/parse_test.exs similarity index 97% rename from apps/remote_control/test/lexical/remote_control/build/error/parse_test.exs rename to apps/engine/test/engine/build/error/parse_test.exs index e1098767..f5db3b0e 100644 --- a/apps/remote_control/test/lexical/remote_control/build/error/parse_test.exs +++ b/apps/engine/test/engine/build/error/parse_test.exs @@ -1,12 +1,12 @@ -defmodule Lexical.RemoteControl.Build.Error.ParseTest do - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic - alias Lexical.RemoteControl.Build - - alias Lexical.RemoteControl.Build.CaptureServer - alias Lexical.RemoteControl.Dispatch - import Lexical.Test.RangeSupport - import Lexical.Test.DiagnosticSupport +defmodule Engine.Build.Error.ParseTest do + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic + alias Engine.Build + + alias Engine.Build.CaptureServer + alias Engine.Dispatch + import Forge.Test.RangeSupport + import Forge.Test.DiagnosticSupport use ExUnit.Case, async: true diff --git a/apps/remote_control/test/lexical/remote_control/build/error_test.exs b/apps/engine/test/engine/build/error_test.exs similarity index 98% rename from apps/remote_control/test/lexical/remote_control/build/error_test.exs rename to apps/engine/test/engine/build/error_test.exs index dd8d2f85..1abadc87 100644 --- a/apps/remote_control/test/lexical/remote_control/build/error_test.exs +++ b/apps/engine/test/engine/build/error_test.exs @@ -1,17 +1,17 @@ -defmodule Lexical.RemoteControl.Build.ErrorTest do - alias Lexical.Document - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Build.CaptureServer - alias Lexical.RemoteControl.ModuleMappings +defmodule Engine.Build.ErrorTest do + alias Forge.Document + alias Engine.Build + alias Engine.Build.CaptureServer + alias Engine.ModuleMappings require Logger - import Lexical.Test.DiagnosticSupport - import Lexical.Test.RangeSupport + import Forge.Test.DiagnosticSupport + import Forge.Test.RangeSupport use ExUnit.Case use Patch setup do - start_supervised!(Lexical.RemoteControl.Dispatch) + start_supervised!(Engine.Dispatch) start_supervised!(CaptureServer) :ok end diff --git a/apps/remote_control/test/lexical/remote_control/build/state_test.exs b/apps/engine/test/engine/build/state_test.exs similarity index 87% rename from apps/remote_control/test/lexical/remote_control/build/state_test.exs rename to apps/engine/test/engine/build/state_test.exs index d4894e9b..93335c32 100644 --- a/apps/remote_control/test/lexical/remote_control/build/state_test.exs +++ b/apps/engine/test/engine/build/state_test.exs @@ -1,21 +1,21 @@ -defmodule Lexical.RemoteControl.Build.StateTest do - alias Lexical.Document - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.Build.State - alias Lexical.RemoteControl.Plugin +defmodule Engine.Build.StateTest do + alias Forge.Document + alias Forge.Project + alias Engine + alias Engine.Build + alias Engine.Build.State + alias Engine.Plugin - import Lexical.Test.Fixtures + import Engine.Test.Fixtures use ExUnit.Case, async: false use Patch setup do - start_supervised!(RemoteControl.Dispatch) - start_supervised!(RemoteControl.Api.Proxy) + start_supervised!(Engine.Dispatch) + start_supervised!(Engine.Api.Proxy) start_supervised!(Build.CaptureServer) - start_supervised!(RemoteControl.ModuleMappings) + start_supervised!(Engine.ModuleMappings) start_supervised!(Plugin.Runner.Coordinator) start_supervised!(Plugin.Runner.Supervisor) :ok @@ -37,14 +37,14 @@ defmodule Lexical.RemoteControl.Build.StateTest do def with_project_state(project_name) do test = self() - patch(RemoteControl.Dispatch, :broadcast, &send(test, &1)) + patch(Engine.Dispatch, :broadcast, &send(test, &1)) project_name = to_string(project_name) fixture_dir = Path.join(fixtures_path(), project_name) project = Project.new("file://#{fixture_dir}") state = State.new(project) - RemoteControl.set_project(project) + Engine.set_project(project) {:ok, state} end diff --git a/apps/remote_control/test/lexical/remote_control/build_test.exs b/apps/engine/test/engine/build_test.exs similarity index 93% rename from apps/remote_control/test/lexical/remote_control/build_test.exs rename to apps/engine/test/engine/build_test.exs index 5e35c7d2..85ebe537 100644 --- a/apps/remote_control/test/lexical/remote_control/build_test.exs +++ b/apps/engine/test/engine/build_test.exs @@ -1,16 +1,16 @@ -defmodule Lexical.BuildTest do +defmodule Engine.BuildTest do alias Elixir.Features - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api.Messages - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.ProjectNodeSupervisor + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic + alias Forge.Project + alias Engine + alias Engine.Api.Messages + alias Engine.Build + alias Engine.ProjectNodeSupervisor import Messages - import Lexical.Test.Fixtures - import Lexical.Test.DiagnosticSupport + import Engine.Test.Fixtures + import Forge.Test.DiagnosticSupport use ExUnit.Case use Patch @@ -29,7 +29,7 @@ defmodule Lexical.BuildTest do end source = Document.new(uri, source_code, 0) - RemoteControl.call(project, Build, :force_compile_document, [source]) + Engine.call(project, Build, :force_compile_document, [source]) end def with_project(project_name) do @@ -42,8 +42,8 @@ defmodule Lexical.BuildTest do |> File.rm_rf() {:ok, _} = start_supervised({ProjectNodeSupervisor, project}) - {:ok, _, _} = RemoteControl.start_link(project) - RemoteControl.Api.register_listener(project, self(), [:all]) + {:ok, _, _} = Engine.start_link(project) + Engine.Api.register_listener(project, self(), [:all]) {:ok, project} end @@ -72,7 +72,7 @@ defmodule Lexical.BuildTest do describe "compiling a project" do test "sends a message when complete " do {:ok, project} = with_project(:project_metadata) - RemoteControl.Api.schedule_compile(project, true) + Engine.Api.schedule_compile(project, true) assert_receive project_compiled(status: :success) assert_receive project_progress(label: "Building " <> project_name) @@ -82,7 +82,7 @@ defmodule Lexical.BuildTest do test "receives metadata about the defined modules" do {:ok, project} = with_project(:project_metadata) - RemoteControl.Api.schedule_compile(project, true) + Engine.Api.schedule_compile(project, true) assert_receive module_updated(name: ProjectMetadata, functions: functions) assert {:zero_arity, 0} in functions @@ -94,7 +94,7 @@ defmodule Lexical.BuildTest do describe "compiling an umbrella project" do test "it sends a message when compilation is complete" do {:ok, project} = with_project(:umbrella) - RemoteControl.Api.schedule_compile(project, true) + Engine.Api.schedule_compile(project, true) assert_receive project_compiled(status: :success) assert_receive project_diagnostics(diagnostics: []) @@ -119,7 +119,7 @@ defmodule Lexical.BuildTest do describe "compiling a project that has errors" do test "it reports the errors" do {:ok, project} = with_project(:compilation_errors) - RemoteControl.Api.schedule_compile(project, true) + Engine.Api.schedule_compile(project, true) assert_receive project_compiled(status: :error) assert_receive project_diagnostics(diagnostics: [%Diagnostic.Result{}]) @@ -132,7 +132,7 @@ defmodule Lexical.BuildTest do @feature_condition span_in_diagnostic?: false @tag execute_if(@feature_condition) test "stuff", %{project: project} do - RemoteControl.Api.schedule_compile(project, true) + Engine.Api.schedule_compile(project, true) assert_receive project_compiled(status: :error) assert_receive project_diagnostics(diagnostics: [%Diagnostic.Result{} = diagnostic]) @@ -144,7 +144,7 @@ defmodule Lexical.BuildTest do @feature_condition span_in_diagnostic?: true @tag execute_if(@feature_condition) test "stuff when #{inspect(@feature_condition)}", %{project: project} do - RemoteControl.Api.schedule_compile(project, true) + Engine.Api.schedule_compile(project, true) assert_receive project_compiled(status: :error) assert_receive project_diagnostics(diagnostics: [%Diagnostic.Result{} = diagnostic]) @@ -160,7 +160,7 @@ defmodule Lexical.BuildTest do describe "when compiling a project that has warnings" do test "it reports them" do {:ok, project} = with_project(:compilation_warnings) - RemoteControl.Api.schedule_compile(project, true) + Engine.Api.schedule_compile(project, true) assert_receive project_compiled(status: :success) assert_receive project_diagnostics(diagnostics: diagnostics) @@ -174,8 +174,8 @@ defmodule Lexical.BuildTest do end def with_patched_state_timeout(_) do - patch(Lexical.RemoteControl.Build.State, :should_compile?, true) - patch(Lexical.RemoteControl.Build.State, :edit_window_millis, 50) + patch(Engine.Build.State, :should_compile?, true) + patch(Engine.Build.State, :edit_window_millis, 50) :ok end @@ -565,7 +565,7 @@ defmodule Lexical.BuildTest do end def loaded?(project, module) do - RemoteControl.call(project, Code, :ensure_loaded?, [module]) + Engine.call(project, Code, :ensure_loaded?, [module]) end describe "module sanitization" do @@ -649,8 +649,8 @@ defmodule Lexical.BuildTest do describe ".exs files" do setup do - start_supervised!(RemoteControl.Dispatch) - start_supervised!(RemoteControl.ModuleMappings) + start_supervised!(Engine.Dispatch) + start_supervised!(Engine.ModuleMappings) start_supervised!(Build.CaptureServer) :ok end @@ -675,7 +675,7 @@ defmodule Lexical.BuildTest do describe "exceptions during compilation" do test "compiling a project with callback errors" do {:ok, project} = with_project(:compilation_callback_errors) - RemoteControl.Api.schedule_compile(project, false) + Engine.Api.schedule_compile(project, false) assert_receive project_compiled(status: :error) assert_receive project_diagnostics(diagnostics: [diagnostic]) diff --git a/apps/remote_control/test/lexical/remote_control/code_action/handlers/add_alias_test.exs b/apps/engine/test/engine/code_action/handlers/add_alias_test.exs similarity index 74% rename from apps/remote_control/test/lexical/remote_control/code_action/handlers/add_alias_test.exs rename to apps/engine/test/engine/code_action/handlers/add_alias_test.exs index a0eb1c40..d3761641 100644 --- a/apps/remote_control/test/lexical/remote_control/code_action/handlers/add_alias_test.exs +++ b/apps/engine/test/engine/code_action/handlers/add_alias_test.exs @@ -1,21 +1,21 @@ -defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do - alias Lexical.Ast.Analysis.Scope - alias Lexical.CodeUnit - alias Lexical.Document - alias Lexical.Document.Line - alias Lexical.Document.Range - alias Lexical.RemoteControl - alias Lexical.RemoteControl.CodeAction.Handlers.AddAlias - alias Lexical.RemoteControl.Search.Store - - import Lexical.Test.CursorSupport - import Lexical.Test.CodeSigil - - use Lexical.Test.CodeMod.Case, enable_ast_conversion: false +defmodule Engine.CodeAction.Handlers.AddAliasTest do + alias Forge.Ast.Analysis.Scope + alias Forge.CodeUnit + alias Forge.Document + alias Forge.Document.Line + alias Forge.Document.Range + alias Engine + alias Engine.CodeAction.Handlers.AddAlias + alias Engine.Search.Store + + import Forge.Test.CursorSupport + import Forge.Test.CodeSigil + + use Engine.Test.CodeMod.Case, enable_ast_conversion: false use Patch setup do - start_supervised!({Document.Store, derive: [analysis: &Lexical.Ast.analyze/1]}) + start_supervised!({Document.Store, derive: [analysis: &Forge.Ast.analyze/1]}) :ok end @@ -52,7 +52,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do describe "in an existing module with no aliases" do test "aliases are added at the top of the module" do - patch(RemoteControl, :get_project, %Lexical.Project{}) + patch(Engine, :get_project, %Forge.Project{}) {:ok, added} = ~q[ @@ -66,7 +66,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do expected = ~q[ defmodule MyModule do - alias Lexical.Document.Line + alias Forge.Document.Line def my_fn do Line end @@ -84,9 +84,9 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do describe "adding an alias" do test "does nothing on an invalid document" do - {:ok, added} = add_alias("%Lexical.RemoteControl.Search.", [Lexical.RemoteControl.Search]) + {:ok, added} = add_alias("%Engine.Search.", [Engine.Search]) - assert added == "%Lexical.RemoteControl.Search." + assert added == "%Engine.Search." end test "outside of a module with aliases" do @@ -98,7 +98,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do |> add_alias([Line]) expected = ~q[ - alias Lexical.Document.Line + alias Forge.Document.Line alias ZZ.XX.YY Line ]t @@ -109,12 +109,12 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do test "when a full module name is given" do {:ok, added} = ~q[ - Lexical.RemoteControl.Search.Store.Backend| + Engine.Search.Store.Backend| ] |> add_alias([Store.Backend]) expected = ~q[ - alias Lexical.RemoteControl.Search.Store.Backend + alias Engine.Search.Store.Backend Backend ]t @@ -122,13 +122,13 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do end test "when a full module name is given in a module function" do - patch(RemoteControl, :get_project, %Lexical.Project{}) + patch(Engine, :get_project, %Forge.Project{}) {:ok, added} = ~q[ defmodule MyModule do def my_fun do - result = Lexical.RemoteControl.Search.Store| + result = Engine.Search.Store| end end ] @@ -136,7 +136,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do expected = ~q[ defmodule MyModule do - alias Lexical.RemoteControl.Search.Store + alias Engine.Search.Store def my_fun do result = Store end @@ -152,7 +152,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do |> add_alias([Line]) expected = ~q[ - alias Lexical.Document.Line + alias Forge.Document.Line Line ]t @@ -160,7 +160,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do end test "in a module with no aliases" do - patch(RemoteControl, :get_project, %Lexical.Project{}) + patch(Engine, :get_project, %Forge.Project{}) {:ok, added} = ~q[ @@ -174,7 +174,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do expected = ~q[ defmodule MyModule do - alias Lexical.Document.Line + alias Forge.Document.Line def my_fun do Line end @@ -196,7 +196,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do expected = ~q[ defmodule MyModule do - alias Lexical.Document.Line + alias Forge.Document.Line alias Something.Else Line end @@ -219,7 +219,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do expected = ~q[ defmodule MyModule do - alias Lexical.Document.Line + alias Forge.Document.Line alias Something.Else def my_fn do Line @@ -246,7 +246,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do defmodule Parent do alias Top.Level defmodule Child do - alias Lexical.Document.Line + alias Forge.Document.Line alias Some.Other Line end @@ -257,10 +257,10 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do end test "aliases for struct references don't include non-struct modules" do - {:ok, added} = add_alias("%Scope|{}", [Lexical.Ast, Scope]) + {:ok, added} = add_alias("%Scope|{}", [Forge.Ast, Scope]) expected = ~q[ - alias Lexical.Ast.Analysis.Scope + alias Forge.Ast.Analysis.Scope %Scope ]t @@ -268,10 +268,10 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do end test "only modules with a similarly named function will be included in aliases" do - {:ok, added} = add_alias("Document.fetch|", [Document, RemoteControl]) + {:ok, added} = add_alias("Document.fetch|", [Document, Engine]) expected = ~q[ - alias Lexical.Document + alias Forge.Document Document.fetch ]t @@ -281,7 +281,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do test "protocols are excluded" do {:ok, added} = add_alias("Co|", [Collectable, CodeUnit]) expected = ~q[ - alias Lexical.CodeUnit + alias Forge.CodeUnit Co ]t @@ -289,11 +289,10 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.AddAliasTest do end test "protocol implementations are excluded" do - {:ok, added} = - add_alias("Lin|", [Lexical.Document.Lines, Enumerable.Lexical.Document.Lines]) + {:ok, added} = add_alias("Lin|", [Forge.Document.Lines, Enumerable.Forge.Document.Lines]) expected = ~q[ - alias Lexical.Document.Lines + alias Forge.Document.Lines Lin ]t assert added =~ expected diff --git a/apps/remote_control/test/lexical/remote_control/code_action/handlers/organize_aliases_test.exs b/apps/engine/test/engine/code_action/handlers/organize_aliases_test.exs similarity index 92% rename from apps/remote_control/test/lexical/remote_control/code_action/handlers/organize_aliases_test.exs rename to apps/engine/test/engine/code_action/handlers/organize_aliases_test.exs index 34401889..f2aba0a4 100644 --- a/apps/remote_control/test/lexical/remote_control/code_action/handlers/organize_aliases_test.exs +++ b/apps/engine/test/engine/code_action/handlers/organize_aliases_test.exs @@ -1,17 +1,17 @@ -defmodule Lexical.RemoteControl.CodeAction.Handlers.OrganizeAliasesTest do - alias Lexical.Document - alias Lexical.Document.Range - alias Lexical.RemoteControl - alias Lexical.RemoteControl.CodeAction.Handlers.OrganizeAliases +defmodule Engine.CodeAction.Handlers.OrganizeAliasesTest do + alias Forge.Document + alias Forge.Document.Range + alias Engine + alias Engine.CodeAction.Handlers.OrganizeAliases - import Lexical.Test.CursorSupport - import Lexical.Test.CodeSigil + import Forge.Test.CursorSupport + import Forge.Test.CodeSigil - use Lexical.Test.CodeMod.Case, enable_ast_conversion: false + use Engine.Test.CodeMod.Case, enable_ast_conversion: false use Patch setup do - start_supervised!({Document.Store, derive: [analysis: &Lexical.Ast.analyze/1]}) + start_supervised!({Document.Store, derive: [analysis: &Forge.Ast.analyze/1]}) :ok end @@ -92,7 +92,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.OrganizeAliasesTest do describe "at the top of a module" do test "does nothing if there are no aliases" do - patch(RemoteControl, :get_project, %Lexical.Project{}) + patch(Engine, :get_project, %Forge.Project{}) {:ok, organized} = ~q[ diff --git a/apps/remote_control/test/lexical/remote_control/code_action/handlers/refactorex_test.exs b/apps/engine/test/engine/code_action/handlers/refactorex_test.exs similarity index 84% rename from apps/remote_control/test/lexical/remote_control/code_action/handlers/refactorex_test.exs rename to apps/engine/test/engine/code_action/handlers/refactorex_test.exs index a477df86..14c04941 100644 --- a/apps/remote_control/test/lexical/remote_control/code_action/handlers/refactorex_test.exs +++ b/apps/engine/test/engine/code_action/handlers/refactorex_test.exs @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.CodeAction.Handlers.RefactorexTest do - use Lexical.Test.CodeMod.Case +defmodule Engine.CodeAction.Handlers.RefactorexTest do + use Engine.Test.CodeMod.Case - alias Lexical.Document - alias Lexical.RemoteControl.CodeAction.Handlers.Refactorex + alias Forge.Document + alias Engine.CodeAction.Handlers.Refactorex - import Lexical.Test.RangeSupport - import Lexical.Test.CodeSigil + import Forge.Test.RangeSupport + import Forge.Test.CodeSigil def apply_code_mod(original_text, _ast, options) do document = Document.new("file:///file.ex", original_text, 0) @@ -26,7 +26,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.RefactorexTest do setup do project = project() - Lexical.RemoteControl.set_project(project) + Engine.set_project(project) {:ok, project: project} end diff --git a/apps/remote_control/test/lexical/remote_control/code_action/handlers/remove_unused_alias_test.exs b/apps/engine/test/engine/code_action/handlers/remove_unused_alias_test.exs similarity index 94% rename from apps/remote_control/test/lexical/remote_control/code_action/handlers/remove_unused_alias_test.exs rename to apps/engine/test/engine/code_action/handlers/remove_unused_alias_test.exs index 7c1f619c..bebe7fbd 100644 --- a/apps/remote_control/test/lexical/remote_control/code_action/handlers/remove_unused_alias_test.exs +++ b/apps/engine/test/engine/code_action/handlers/remove_unused_alias_test.exs @@ -1,14 +1,14 @@ -defmodule Lexical.RemoteControl.CodeAction.Handlers.RemoveUnusedAliasTest do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.Document.Range - alias Lexical.RemoteControl.CodeAction.Diagnostic - alias Lexical.RemoteControl.CodeAction.Handlers.RemoveUnusedAlias +defmodule Engine.CodeAction.Handlers.RemoveUnusedAliasTest do + alias Forge.Ast + alias Forge.Document + alias Forge.Document.Range + alias Engine.CodeAction.Diagnostic + alias Engine.CodeAction.Handlers.RemoveUnusedAlias - import Lexical.Test.CursorSupport - import Lexical.Test.CodeSigil + import Forge.Test.CursorSupport + import Forge.Test.CodeSigil - use Lexical.Test.CodeMod.Case, enable_ast_conversion: false + use Engine.Test.CodeMod.Case, enable_ast_conversion: false def apply_code_mod(original_text, _ast, options) do Document.Store.open("file:///file.ex", original_text, 1) @@ -49,7 +49,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.RemoveUnusedAliasTest do end setup do - start_supervised!({Document.Store, derive: [analysis: &Lexical.Ast.analyze/1]}) + start_supervised!({Document.Store, derive: [analysis: &Forge.Ast.analyze/1]}) :ok end diff --git a/apps/remote_control/test/lexical/remote_control/code_action/handlers/replace_remote_function_test.exs b/apps/engine/test/engine/code_action/handlers/replace_remote_function_test.exs similarity index 94% rename from apps/remote_control/test/lexical/remote_control/code_action/handlers/replace_remote_function_test.exs rename to apps/engine/test/engine/code_action/handlers/replace_remote_function_test.exs index 5e5b51cd..a03d12a0 100644 --- a/apps/remote_control/test/lexical/remote_control/code_action/handlers/replace_remote_function_test.exs +++ b/apps/engine/test/engine/code_action/handlers/replace_remote_function_test.exs @@ -1,12 +1,12 @@ -defmodule Lexical.RemoteControl.CodeAction.Handlers.ReplaceRemoteFunctionTest do - alias Lexical.Document - alias Lexical.RemoteControl.CodeAction.Diagnostic - alias Lexical.RemoteControl.CodeAction.Handlers.ReplaceRemoteFunction +defmodule Engine.CodeAction.Handlers.ReplaceRemoteFunctionTest do + alias Forge.Document + alias Engine.CodeAction.Diagnostic + alias Engine.CodeAction.Handlers.ReplaceRemoteFunction - use Lexical.Test.CodeMod.Case + use Engine.Test.CodeMod.Case setup do - start_supervised!({Document.Store, derive: [analysis: &Lexical.Ast.analyze/1]}) + start_supervised!({Document.Store, derive: [analysis: &Forge.Ast.analyze/1]}) :ok end @@ -46,7 +46,7 @@ defmodule Lexical.RemoteControl.CodeAction.Handlers.ReplaceRemoteFunctionTest do |> ReplaceRemoteFunction.actions(range, [diagnostic]) |> Enum.flat_map(& &1.changes.edits) |> Enum.filter(fn - %Lexical.Document.Edit{text: ^suggestion} -> true + %Forge.Document.Edit{text: ^suggestion} -> true _ -> false end) diff --git a/apps/remote_control/test/lexical/remote_control/code_action/handlers/replace_with_underscore_test.exs b/apps/engine/test/engine/code_action/handlers/replace_with_underscore_test.exs similarity index 96% rename from apps/remote_control/test/lexical/remote_control/code_action/handlers/replace_with_underscore_test.exs rename to apps/engine/test/engine/code_action/handlers/replace_with_underscore_test.exs index d19b3856..eed1e66f 100644 --- a/apps/remote_control/test/lexical/remote_control/code_action/handlers/replace_with_underscore_test.exs +++ b/apps/engine/test/engine/code_action/handlers/replace_with_underscore_test.exs @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.CodeAction.Handlers.ReplaceWithUnderscoreTest do - alias Lexical.Document - alias Lexical.RemoteControl.CodeAction.Diagnostic - alias Lexical.RemoteControl.CodeAction.Handlers.ReplaceWithUnderscore +defmodule Engine.CodeAction.Handlers.ReplaceWithUnderscoreTest do + alias Forge.Document + alias Engine.CodeAction.Diagnostic + alias Engine.CodeAction.Handlers.ReplaceWithUnderscore - use Lexical.Test.CodeMod.Case + use Engine.Test.CodeMod.Case def apply_code_mod(original_text, _ast, options) do variable = Keyword.get(options, :variable, :unused) diff --git a/apps/remote_control/test/lexical/remote_control/code_intelligence/definition_test.exs b/apps/engine/test/engine/code_intelligence/definition_test.exs similarity index 93% rename from apps/remote_control/test/lexical/remote_control/code_intelligence/definition_test.exs rename to apps/engine/test/engine/code_intelligence/definition_test.exs index fc286bf7..77b5c214 100644 --- a/apps/remote_control/test/lexical/remote_control/code_intelligence/definition_test.exs +++ b/apps/engine/test/engine/code_intelligence/definition_test.exs @@ -1,14 +1,14 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.DefinitionTest do - alias Lexical.Document - alias Lexical.RemoteControl - alias Lexical.RemoteControl.ProjectNodeSupervisor - alias Lexical.RemoteControl.Search - - import Lexical.RemoteControl.Api.Messages - import Lexical.Test.CodeSigil - import Lexical.Test.CursorSupport - import Lexical.Test.Fixtures - import Lexical.Test.RangeSupport +defmodule Engine.CodeIntelligence.DefinitionTest do + alias Forge.Document + alias Engine + alias Engine.ProjectNodeSupervisor + alias Engine.Search + + import Engine.Api.Messages + import Forge.Test.CodeSigil + import Forge.Test.CursorSupport + import Engine.Test.Fixtures + import Forge.Test.RangeSupport use ExUnit.Case, async: false @@ -43,12 +43,12 @@ defmodule Lexical.RemoteControl.CodeIntelligence.DefinitionTest do setup_all do project = project(:navigations) - start_supervised!({Document.Store, derive: [analysis: &Lexical.Ast.analyze/1]}) + start_supervised!({Document.Store, derive: [analysis: &Forge.Ast.analyze/1]}) {:ok, _} = start_supervised({ProjectNodeSupervisor, project}) - {:ok, _, _} = RemoteControl.start_link(project) + {:ok, _, _} = Engine.start_link(project) - RemoteControl.Api.register_listener(project, self(), [:all]) - RemoteControl.Api.schedule_compile(project, true) + Engine.Api.register_listener(project, self(), [:all]) + Engine.Api.schedule_compile(project, true) assert_receive project_compiled(), 5000 assert_receive project_index_ready(), 5000 @@ -453,7 +453,7 @@ defmodule Lexical.RemoteControl.CodeIntelligence.DefinitionTest do {:ok, document} <- subject_module(project, code), :ok <- index(project, referenced_uri), {:ok, location} <- - RemoteControl.Api.definition(project, document, position) do + Engine.Api.definition(project, document, position) do if is_list(location) do {:ok, Enum.map(location, &{&1.document.uri, decorate(&1.document, &1.range)})} else @@ -464,12 +464,12 @@ defmodule Lexical.RemoteControl.CodeIntelligence.DefinitionTest do defp index(project, referenced_uris) when is_list(referenced_uris) do entries = Enum.flat_map(referenced_uris, &do_index/1) - RemoteControl.call(project, Search.Store, :replace, [entries]) + Engine.call(project, Search.Store, :replace, [entries]) end defp index(project, referenced_uri) do entries = do_index(referenced_uri) - RemoteControl.call(project, Search.Store, :replace, [entries]) + Engine.call(project, Search.Store, :replace, [entries]) end defp do_index(referenced_uri) do diff --git a/apps/remote_control/test/lexical/remote_control/code_intelligence/entity_test.exs b/apps/engine/test/engine/code_intelligence/entity_test.exs similarity index 97% rename from apps/remote_control/test/lexical/remote_control/code_intelligence/entity_test.exs rename to apps/engine/test/engine/code_intelligence/entity_test.exs index b6d4a58b..9e1d954a 100644 --- a/apps/remote_control/test/lexical/remote_control/code_intelligence/entity_test.exs +++ b/apps/engine/test/engine/code_intelligence/entity_test.exs @@ -1,12 +1,12 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.EntityTest do - alias Lexical.Document - alias Lexical.RemoteControl.CodeIntelligence.Entity +defmodule Engine.CodeIntelligence.EntityTest do + alias Forge.Document + alias Engine.CodeIntelligence.Entity import ExUnit.CaptureIO - import Lexical.Test.CodeSigil - import Lexical.Test.CursorSupport - import Lexical.Test.Fixtures - import Lexical.Test.RangeSupport + import Forge.Test.CodeSigil + import Forge.Test.CursorSupport + import Engine.Test.Fixtures + import Forge.Test.RangeSupport use ExUnit.Case use Patch @@ -806,13 +806,13 @@ defmodule Lexical.RemoteControl.CodeIntelligence.EntityTest do test "imported in module scope" do code = ~q[ defmodule Parent do - import Lexical.Ast + import Forge.Ast def parse(doc), do: |from(doc) end ] - assert {:ok, {:call, Lexical.Ast, :from, 1}, resolved_range} = resolve(code) + assert {:ok, {:call, Forge.Ast, :from, 1}, resolved_range} = resolve(code) assert resolved_range =~ ~S[«from»(doc)] end @@ -820,13 +820,13 @@ defmodule Lexical.RemoteControl.CodeIntelligence.EntityTest do code = ~q[ defmodule Parent do def parse(doc) do - import Lexical.Ast + import Forge.Ast |from(doc) end end ] - assert {:ok, {:call, Lexical.Ast, :from, 1}, resolved_range} = resolve(code) + assert {:ok, {:call, Forge.Ast, :from, 1}, resolved_range} = resolve(code) assert resolved_range =~ ~S[«from»(doc)] end @@ -834,7 +834,7 @@ defmodule Lexical.RemoteControl.CodeIntelligence.EntityTest do code = ~q[ defmodule Parent do def parse(doc) do - import Lexical.Ast + import Forge.Ast from(doc) end @@ -976,7 +976,7 @@ defmodule Lexical.RemoteControl.CodeIntelligence.EntityTest do with {position, code} <- pop_cursor(code), :ok <- maybe_evaluate(code, evaluate?), document = subject_module(code), - analysis = Lexical.Ast.analyze(document), + analysis = Forge.Ast.analyze(document), {:ok, resolved, range} <- Entity.resolve(analysis, position) do {:ok, resolved, decorate(document, range)} end diff --git a/apps/remote_control/test/lexical/remote_control/code_intelligence/references_test.exs b/apps/engine/test/engine/code_intelligence/references_test.exs similarity index 93% rename from apps/remote_control/test/lexical/remote_control/code_intelligence/references_test.exs rename to apps/engine/test/engine/code_intelligence/references_test.exs index 06932111..e2a00ad2 100644 --- a/apps/remote_control/test/lexical/remote_control/code_intelligence/references_test.exs +++ b/apps/engine/test/engine/code_intelligence/references_test.exs @@ -1,27 +1,27 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.ReferencesTest do - alias Lexical.Document - alias Lexical.Document.Location - alias Lexical.RemoteControl - alias Lexical.RemoteControl.CodeIntelligence.References - alias Lexical.RemoteControl.Search - alias Lexical.RemoteControl.Search.Store.Backends +defmodule Engine.CodeIntelligence.ReferencesTest do + alias Forge.Document + alias Forge.Document.Location + alias Engine + alias Engine.CodeIntelligence.References + alias Engine.Search + alias Engine.Search.Store.Backends use ExUnit.Case, async: false - import Lexical.Test.CodeSigil - import Lexical.Test.CursorSupport - import Lexical.Test.Fixtures - import Lexical.Test.RangeSupport - import Lexical.Test.EventualAssertions + import Forge.Test.CodeSigil + import Forge.Test.CursorSupport + import Engine.Test.Fixtures + import Forge.Test.RangeSupport + import Forge.Test.EventualAssertions setup do project = project() Backends.Ets.destroy_all(project) - RemoteControl.set_project(project) + Engine.set_project(project) start_supervised!(Document.Store) - start_supervised!(RemoteControl.Dispatch) + start_supervised!(Engine.Dispatch) start_supervised!(Backends.Ets) start_supervised!( @@ -317,7 +317,7 @@ defmodule Lexical.RemoteControl.CodeIntelligence.ReferencesTest do {:ok, entries} <- Search.Indexer.Source.index(document.path, code), :ok <- Search.Store.replace(entries) do referenced - |> Lexical.Ast.analyze() + |> Forge.Ast.analyze() |> References.references(position, include_definitions?) end end diff --git a/apps/remote_control/test/lexical/remote_control/code_intelligence/symbols_test.exs b/apps/engine/test/engine/code_intelligence/symbols_test.exs similarity index 97% rename from apps/remote_control/test/lexical/remote_control/code_intelligence/symbols_test.exs rename to apps/engine/test/engine/code_intelligence/symbols_test.exs index 9150a636..46ed5262 100644 --- a/apps/remote_control/test/lexical/remote_control/code_intelligence/symbols_test.exs +++ b/apps/engine/test/engine/code_intelligence/symbols_test.exs @@ -1,14 +1,14 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.SymbolsTest do - alias Lexical.Document - alias Lexical.RemoteControl.CodeIntelligence.Symbols - alias Lexical.RemoteControl.Search.Indexer.Extractors - alias Lexical.RemoteControl.Search.Indexer.Source +defmodule Engine.CodeIntelligence.SymbolsTest do + alias Forge.Document + alias Engine.CodeIntelligence.Symbols + alias Engine.Search.Indexer.Extractors + alias Engine.Search.Indexer.Source use ExUnit.Case use Patch - import Lexical.Test.CodeSigil - import Lexical.Test.RangeSupport + import Forge.Test.CodeSigil + import Forge.Test.RangeSupport def document_symbols(code) do doc = Document.new("file:///file.ex", code, 1) @@ -30,7 +30,7 @@ defmodule Lexical.RemoteControl.CodeIntelligence.SymbolsTest do ]) entries = Enum.reject(entries, &(&1.type == :metadata)) - patch(Lexical.RemoteControl.Search.Store, :fuzzy, {:ok, entries}) + patch(Engine.Search.Store, :fuzzy, {:ok, entries}) symbols = Symbols.for_workspace("") {symbols, doc} end diff --git a/apps/remote_control/test/lexical/remote_control/code_intelligence/variable_test.exs b/apps/engine/test/engine/code_intelligence/variable_test.exs similarity index 97% rename from apps/remote_control/test/lexical/remote_control/code_intelligence/variable_test.exs rename to apps/engine/test/engine/code_intelligence/variable_test.exs index 4ede9e69..d2ceba16 100644 --- a/apps/remote_control/test/lexical/remote_control/code_intelligence/variable_test.exs +++ b/apps/engine/test/engine/code_intelligence/variable_test.exs @@ -1,12 +1,12 @@ -defmodule Lexical.RemoteControl.CodeIntelligence.VariableTest do - alias Lexical.Ast - alias Lexical.RemoteControl.CodeIntelligence.Variable +defmodule Engine.CodeIntelligence.VariableTest do + alias Forge.Ast + alias Engine.CodeIntelligence.Variable use ExUnit.Case - import Lexical.Test.CodeSigil - import Lexical.Test.CursorSupport - import Lexical.Test.RangeSupport + import Forge.Test.CodeSigil + import Forge.Test.CursorSupport + import Forge.Test.RangeSupport def find_definition(code) do {position, document} = pop_cursor(code, as: :document) diff --git a/apps/remote_control/test/lexical/remote_control/code_mod/aliases_test.exs b/apps/engine/test/engine/code_mod/aliases_test.exs similarity index 93% rename from apps/remote_control/test/lexical/remote_control/code_mod/aliases_test.exs rename to apps/engine/test/engine/code_mod/aliases_test.exs index 9a8875fb..506f85d3 100644 --- a/apps/remote_control/test/lexical/remote_control/code_mod/aliases_test.exs +++ b/apps/engine/test/engine/code_mod/aliases_test.exs @@ -1,14 +1,14 @@ -defmodule Lexical.RemoteControl.CodeMod.AliasesTest do - alias Lexical.Ast - alias Lexical.RemoteControl - alias Lexical.RemoteControl.CodeMod.Aliases +defmodule Engine.CodeMod.AliasesTest do + alias Forge.Ast + alias Engine + alias Engine.CodeMod.Aliases - import Lexical.Test.CursorSupport - use Lexical.Test.CodeMod.Case + import Forge.Test.CursorSupport + use Engine.Test.CodeMod.Case use Patch setup do - patch(RemoteControl, :get_project, %Lexical.Project{}) + patch(Engine, :get_project, %Forge.Project{}) :ok end diff --git a/apps/remote_control/test/lexical/remote_control/code_mod/diff_test.exs b/apps/engine/test/engine/code_mod/diff_test.exs similarity index 95% rename from apps/remote_control/test/lexical/remote_control/code_mod/diff_test.exs rename to apps/engine/test/engine/code_mod/diff_test.exs index 59809921..5ca7cc1c 100644 --- a/apps/remote_control/test/lexical/remote_control/code_mod/diff_test.exs +++ b/apps/engine/test/engine/code_mod/diff_test.exs @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.CodeMod.DiffTest do - alias Lexical.Document - alias Lexical.Document.Edit - alias Lexical.Document.Range - alias Lexical.RemoteControl.CodeMod.Diff - - use Lexical.Test.CodeMod.Case - use Lexical.Test.PositionSupport +defmodule Engine.CodeMod.DiffTest do + alias Forge.Document + alias Forge.Document.Edit + alias Forge.Document.Range + alias Engine.CodeMod.Diff + + use Engine.Test.CodeMod.Case + use Forge.Test.PositionSupport def edit(start_line, start_code_unit, end_line, end_code_unit, replacement) do Edit.new( diff --git a/apps/remote_control/test/lexical/remote_control/code_mod/format_test.exs b/apps/engine/test/engine/code_mod/format_test.exs similarity index 83% rename from apps/remote_control/test/lexical/remote_control/code_mod/format_test.exs rename to apps/engine/test/engine/code_mod/format_test.exs index bf74c0df..58440b07 100644 --- a/apps/remote_control/test/lexical/remote_control/code_mod/format_test.exs +++ b/apps/engine/test/engine/code_mod/format_test.exs @@ -1,13 +1,13 @@ # credo:disable-for-this-file Credo.Check.Readability.RedundantBlankLines -defmodule Lexical.RemoteControl.CodeMod.FormatTest do - alias Lexical.Document - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api.Messages - alias Lexical.RemoteControl.Build - alias Lexical.RemoteControl.CodeMod.Format - - use Lexical.Test.CodeMod.Case, enable_ast_conversion: false +defmodule Engine.CodeMod.FormatTest do + alias Forge.Document + alias Forge.Project + alias Engine + alias Engine.Api.Messages + alias Engine.Build + alias Engine.CodeMod.Format + + use Engine.Test.CodeMod.Case, enable_ast_conversion: false use Patch import Messages @@ -54,9 +54,9 @@ defmodule Lexical.RemoteControl.CodeMod.FormatTest do end def with_real_project(%{project: project}) do - {:ok, _} = start_supervised({RemoteControl.ProjectNodeSupervisor, project}) - {:ok, _, _} = RemoteControl.start_link(project) - RemoteControl.Api.register_listener(project, self(), [:all]) + {:ok, _} = start_supervised({Engine.ProjectNodeSupervisor, project}) + {:ok, _, _} = Engine.start_link(project) + Engine.Api.register_listener(project, self(), [:all]) :ok end @@ -67,7 +67,7 @@ defmodule Lexical.RemoteControl.CodeMod.FormatTest do setup do project = project() - RemoteControl.set_project(project) + Engine.set_project(project) {:ok, project: project} end @@ -135,7 +135,7 @@ defmodule Lexical.RemoteControl.CodeMod.FormatTest do end ] document = document("file:///file.ex", text) - RemoteControl.Api.format(project, document) + Engine.Api.format(project, document) assert_receive file_diagnostics(diagnostics: [diagnostic]), 500 assert diagnostic.message =~ "syntax error" diff --git a/apps/remote_control/test/lexical/remote_control/commands/reindex_test.exs b/apps/engine/test/engine/commands/reindex_test.exs similarity index 87% rename from apps/remote_control/test/lexical/remote_control/commands/reindex_test.exs rename to apps/engine/test/engine/commands/reindex_test.exs index c88b5366..44bea177 100644 --- a/apps/remote_control/test/lexical/remote_control/commands/reindex_test.exs +++ b/apps/engine/test/engine/commands/reindex_test.exs @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.Commands.ReindexTest do - alias Lexical.Document - alias Lexical.RemoteControl.Commands.Reindex - alias Lexical.RemoteControl.Search - - import Lexical.Test.EventualAssertions - import Lexical.Test.Fixtures - import Lexical.Test.Entry.Builder +defmodule Engine.Commands.ReindexTest do + alias Forge.Document + alias Engine.Commands.Reindex + alias Engine.Search + + import Forge.Test.EventualAssertions + import Engine.Test.Fixtures + import Engine.Test.Entry.Builder use ExUnit.Case use Patch diff --git a/apps/remote_control/test/lexical/remote_control/completion/candidate/argument_names_test.exs b/apps/engine/test/engine/completion/candidate/argument_names_test.exs similarity index 95% rename from apps/remote_control/test/lexical/remote_control/completion/candidate/argument_names_test.exs rename to apps/engine/test/engine/completion/candidate/argument_names_test.exs index a6a8bab9..3a871f10 100644 --- a/apps/remote_control/test/lexical/remote_control/completion/candidate/argument_names_test.exs +++ b/apps/engine/test/engine/completion/candidate/argument_names_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.RemoteControl.Completion.Candidate.ArgumentNamesTest do - alias Lexical.RemoteControl.Completion.Candidate.ArgumentNames +defmodule Engine.Completion.Candidate.ArgumentNamesTest do + alias Engine.Completion.Candidate.ArgumentNames use ExUnit.Case import ArgumentNames diff --git a/apps/remote_control/test/lexical/remote_control/completion_test.exs b/apps/engine/test/engine/completion_test.exs similarity index 94% rename from apps/remote_control/test/lexical/remote_control/completion_test.exs rename to apps/engine/test/engine/completion_test.exs index b4e35ee7..32ef085f 100644 --- a/apps/remote_control/test/lexical/remote_control/completion_test.exs +++ b/apps/engine/test/engine/completion_test.exs @@ -1,13 +1,13 @@ -defmodule Lexical.RemoteControl.CompletionTest do - alias Lexical.Ast - alias Lexical.Ast.Env - alias Lexical.Document - alias Lexical.RemoteControl.Completion - - import Lexical.Test.CodeSigil - import Lexical.Test.CursorSupport - import Lexical.Test.Fixtures - import Lexical.Test.Quiet +defmodule Engine.CompletionTest do + alias Forge.Ast + alias Forge.Ast.Env + alias Forge.Document + alias Engine.Completion + + import Forge.Test.CodeSigil + import Forge.Test.CursorSupport + import Engine.Test.Fixtures + import Forge.Test.Quiet use ExUnit.Case, async: true use Patch diff --git a/apps/remote_control/test/lexical/remote_control/dispatch/handler_test.exs b/apps/engine/test/engine/dispatch/handler_test.exs similarity index 95% rename from apps/remote_control/test/lexical/remote_control/dispatch/handler_test.exs rename to apps/engine/test/engine/dispatch/handler_test.exs index ddefecf3..927407fc 100644 --- a/apps/remote_control/test/lexical/remote_control/dispatch/handler_test.exs +++ b/apps/engine/test/engine/dispatch/handler_test.exs @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.Dispatch.HandlerTest do - alias Lexical.RemoteControl.Api.Messages - alias Lexical.RemoteControl.Dispatch +defmodule Engine.Dispatch.HandlerTest do + alias Engine.Api.Messages + alias Engine.Dispatch import Messages use ExUnit.Case diff --git a/apps/remote_control/test/lexical/remote_control/dispatch/handlers/indexer_test.exs b/apps/engine/test/engine/dispatch/handlers/indexer_test.exs similarity index 86% rename from apps/remote_control/test/lexical/remote_control/dispatch/handlers/indexer_test.exs rename to apps/engine/test/engine/dispatch/handlers/indexer_test.exs index 60eed4e7..da45e1e0 100644 --- a/apps/remote_control/test/lexical/remote_control/dispatch/handlers/indexer_test.exs +++ b/apps/engine/test/engine/dispatch/handlers/indexer_test.exs @@ -1,30 +1,30 @@ -defmodule Lexical.RemoteControl.Dispatch.Handlers.IndexingTest do - alias Lexical.Document - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api - alias Lexical.RemoteControl.Commands - alias Lexical.RemoteControl.Dispatch.Handlers.Indexing - alias Lexical.RemoteControl.Search +defmodule Engine.Dispatch.Handlers.IndexingTest do + alias Forge.Document + alias Engine + alias Engine.Api + alias Engine.Commands + alias Engine.Dispatch.Handlers.Indexing + alias Engine.Search import Api.Messages - import Lexical.Test.CodeSigil - import Lexical.Test.EventualAssertions - import Lexical.Test.Fixtures + import Forge.Test.CodeSigil + import Forge.Test.EventualAssertions + import Engine.Test.Fixtures use ExUnit.Case use Patch setup do project = project() - RemoteControl.set_project(project) + Engine.set_project(project) create_index = &Search.Indexer.create_index/1 update_index = &Search.Indexer.update_index/2 - start_supervised!(RemoteControl.Dispatch) + start_supervised!(Engine.Dispatch) start_supervised!(Commands.Reindex) start_supervised!(Search.Store.Backends.Ets) start_supervised!({Search.Store, [project, create_index, update_index]}) - start_supervised!({Document.Store, derive: [analysis: &Lexical.Ast.analyze/1]}) + start_supervised!({Document.Store, derive: [analysis: &Forge.Ast.analyze/1]}) Search.Store.enable() assert_eventually(Search.Store.loaded?(), 1500) diff --git a/apps/engine/test/engine/dispatch/handlers/indexing_test.exs b/apps/engine/test/engine/dispatch/handlers/indexing_test.exs new file mode 100644 index 00000000..cf99a91e --- /dev/null +++ b/apps/engine/test/engine/dispatch/handlers/indexing_test.exs @@ -0,0 +1,2 @@ +defmodule Engine.Dispatch.Handlers.IndexerTest do +end diff --git a/apps/remote_control/test/lexical/remote_control/dispatch/pub_sub_state_test.exs b/apps/engine/test/engine/dispatch/pub_sub_state_test.exs similarity index 96% rename from apps/remote_control/test/lexical/remote_control/dispatch/pub_sub_state_test.exs rename to apps/engine/test/engine/dispatch/pub_sub_state_test.exs index b9794dc4..5ff48b3d 100644 --- a/apps/remote_control/test/lexical/remote_control/dispatch/pub_sub_state_test.exs +++ b/apps/engine/test/engine/dispatch/pub_sub_state_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.RemoteControl.Dispatch.PubSubStateTest do +defmodule Engine.Dispatch.PubSubStateTest do use ExUnit.Case - alias Lexical.RemoteControl.Dispatch.PubSub.State + alias Engine.Dispatch.PubSub.State setup do state = State.new() diff --git a/apps/remote_control/test/lexical/remote_control/dispatch_test.exs b/apps/engine/test/engine/dispatch_test.exs similarity index 93% rename from apps/remote_control/test/lexical/remote_control/dispatch_test.exs rename to apps/engine/test/engine/dispatch_test.exs index 949c9dd6..0ddb2688 100644 --- a/apps/remote_control/test/lexical/remote_control/dispatch_test.exs +++ b/apps/engine/test/engine/dispatch_test.exs @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.DispatchTest do - alias Lexical.RemoteControl.Api.Messages - alias Lexical.RemoteControl.Dispatch +defmodule Engine.DispatchTest do + alias Engine.Api.Messages + alias Engine.Dispatch import Messages use ExUnit.Case @@ -12,7 +12,7 @@ defmodule Lexical.RemoteControl.DispatchTest do end defmodule Forwarder do - alias Lexical.RemoteControl.Dispatch + alias Engine.Dispatch def start(message_types) do test = self() diff --git a/apps/remote_control/test/lexical/remote_control/module_mappings_test.exs b/apps/engine/test/engine/module_mappings_test.exs similarity index 87% rename from apps/remote_control/test/lexical/remote_control/module_mappings_test.exs rename to apps/engine/test/engine/module_mappings_test.exs index df7b30e3..3a4def9b 100644 --- a/apps/remote_control/test/lexical/remote_control/module_mappings_test.exs +++ b/apps/engine/test/engine/module_mappings_test.exs @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.ModuleMappingsTest do - alias Lexical.RemoteControl.Dispatch - alias Lexical.RemoteControl.ModuleMappings +defmodule Engine.ModuleMappingsTest do + alias Engine.Dispatch + alias Engine.ModuleMappings use ExUnit.Case - use Lexical.Test.EventualAssertions + use Forge.Test.EventualAssertions - import Lexical.RemoteControl.Api.Messages + import Engine.Api.Messages setup do start_supervised!(Dispatch) diff --git a/apps/remote_control/test/lexical/remote_control/modules_test.exs b/apps/engine/test/engine/modules_test.exs similarity index 88% rename from apps/remote_control/test/lexical/remote_control/modules_test.exs rename to apps/engine/test/engine/modules_test.exs index 62c959e4..0398b682 100644 --- a/apps/remote_control/test/lexical/remote_control/modules_test.exs +++ b/apps/engine/test/engine/modules_test.exs @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.ModulesTest do - alias Lexical.RemoteControl.Modules +defmodule Engine.ModulesTest do + alias Engine.Modules use ExUnit.Case - use Lexical.Test.EventualAssertions + use Forge.Test.EventualAssertions describe "simple prefixes" do test "specifying a prefix with a string" do @@ -39,7 +39,7 @@ defmodule Lexical.RemoteControl.ModulesTest do end test "not finding anything" do - assert [] = Modules.with_prefix("LexicalIsTheBest") + assert [] = Modules.with_prefix("ExpertIsTheBest") end end diff --git a/apps/remote_control/test/lexical/remote_control/plugin/runner/coordinator/state_test.exs b/apps/engine/test/engine/plugin/runner/coordinator/state_test.exs similarity index 93% rename from apps/remote_control/test/lexical/remote_control/plugin/runner/coordinator/state_test.exs rename to apps/engine/test/engine/plugin/runner/coordinator/state_test.exs index 0c5518dd..41dd8ecc 100644 --- a/apps/remote_control/test/lexical/remote_control/plugin/runner/coordinator/state_test.exs +++ b/apps/engine/test/engine/plugin/runner/coordinator/state_test.exs @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Plugin.Coordinator.StateTest do - alias Lexical.Document - alias Lexical.Plugin.V1 - alias Lexical.RemoteControl.Plugin.Runner - alias Lexical.RemoteControl.Plugin.Runner.Coordinator.State +defmodule Engine.Plugin.Coordinator.StateTest do + alias Forge.Document + alias Forge.Plugin.V1 + alias Engine.Plugin.Runner + alias Engine.Plugin.Runner.Coordinator.State use ExUnit.Case diff --git a/apps/remote_control/test/lexical/remote_control/plugin/runner/coordinator_test.exs b/apps/engine/test/engine/plugin/runner/coordinator_test.exs similarity index 85% rename from apps/remote_control/test/lexical/remote_control/plugin/runner/coordinator_test.exs rename to apps/engine/test/engine/plugin/runner/coordinator_test.exs index 89254857..d68d9be9 100644 --- a/apps/remote_control/test/lexical/remote_control/plugin/runner/coordinator_test.exs +++ b/apps/engine/test/engine/plugin/runner/coordinator_test.exs @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.Plugin.Runner.CoordinatorTest do - alias Lexical.Document - alias Lexical.Project - alias Lexical.RemoteControl.Plugin.Runner +defmodule Engine.Plugin.Runner.CoordinatorTest do + alias Forge.Document + alias Forge.Project + alias Engine.Plugin.Runner use ExUnit.Case, async: false - import Lexical.Test.EventualAssertions + import Forge.Test.EventualAssertions setup do {:ok, _} = start_supervised(Runner.Supervisor) @@ -18,10 +18,10 @@ defmodule Lexical.RemoteControl.Plugin.Runner.CoordinatorTest do end defmodule Echo do - alias Lexical.Document - alias Lexical.Project + alias Forge.Document + alias Forge.Project - use Lexical.Plugin.V1.Diagnostic, name: :report_back + use Forge.Plugin.V1.Diagnostic, name: :report_back def diagnose(%Document{} = doc) do {:ok, [doc]} @@ -87,7 +87,7 @@ defmodule Lexical.RemoteControl.Plugin.Runner.CoordinatorTest do describe "handling exceptional conditions" do defmodule Crashy do - use Lexical.Plugin.V1.Diagnostic, name: :crashy + use Forge.Plugin.V1.Diagnostic, name: :crashy def diagnose(_) do raise "Bad" @@ -95,7 +95,7 @@ defmodule Lexical.RemoteControl.Plugin.Runner.CoordinatorTest do end defmodule Slow do - use Lexical.Plugin.V1.Diagnostic, name: :slow + use Forge.Plugin.V1.Diagnostic, name: :slow def diagnose(_) do Process.sleep(500) @@ -104,7 +104,7 @@ defmodule Lexical.RemoteControl.Plugin.Runner.CoordinatorTest do end defmodule BadReturn do - use Lexical.Plugin.V1.Diagnostic, name: :bad_return + use Forge.Plugin.V1.Diagnostic, name: :bad_return def diagnose(_) do {:ok, 34} @@ -112,7 +112,7 @@ defmodule Lexical.RemoteControl.Plugin.Runner.CoordinatorTest do end defmodule Exits do - use Lexical.Plugin.V1.Diagnostic, name: :exits + use Forge.Plugin.V1.Diagnostic, name: :exits def diagnose(_) do exit(:bad) diff --git a/apps/remote_control/test/lexical/remote_control/progress_test.exs b/apps/engine/test/engine/progress_test.exs similarity index 76% rename from apps/remote_control/test/lexical/remote_control/progress_test.exs rename to apps/engine/test/engine/progress_test.exs index a44c5e83..20dcd9f8 100644 --- a/apps/remote_control/test/lexical/remote_control/progress_test.exs +++ b/apps/engine/test/engine/progress_test.exs @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.ProgressTest do - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Progress +defmodule Engine.ProgressTest do + alias Engine + alias Engine.Progress - import Lexical.RemoteControl.Api.Messages + import Engine.Api.Messages use ExUnit.Case use Patch @@ -10,7 +10,7 @@ defmodule Lexical.RemoteControl.ProgressTest do setup do test_pid = self() - patch(RemoteControl.Api.Proxy, :broadcast, &send(test_pid, &1)) + patch(Engine.Api.Proxy, :broadcast, &send(test_pid, &1)) :ok end diff --git a/apps/remote_control/test/lexical/remote_control/project_node_test.exs b/apps/engine/test/engine/project_node_test.exs similarity index 72% rename from apps/remote_control/test/lexical/remote_control/project_node_test.exs rename to apps/engine/test/engine/project_node_test.exs index d7407411..4a7fee02 100644 --- a/apps/remote_control/test/lexical/remote_control/project_node_test.exs +++ b/apps/engine/test/engine/project_node_test.exs @@ -1,10 +1,9 @@ -defmodule Lexical.RemoteControl.ProjectNodeTest do - alias Lexical.RemoteControl - alias Lexical.RemoteControl.ProjectNode - alias Lexical.RemoteControl.ProjectNodeSupervisor +defmodule Engine.ProjectNodeTest do + alias Engine.ProjectNode + alias Engine.ProjectNodeSupervisor - import Lexical.Test.EventualAssertions - import Lexical.Test.Fixtures + import Forge.Test.EventualAssertions + import Engine.Test.Fixtures use ExUnit.Case, async: false @@ -15,7 +14,7 @@ defmodule Lexical.RemoteControl.ProjectNodeTest do end test "it should be able to stop a project node and won't restart", %{project: project} do - {:ok, _node_name, _} = RemoteControl.start_link(project) + {:ok, _node_name, _} = Engine.start_link(project) project_alive? = project |> ProjectNode.name() |> Process.whereis() |> Process.alive?() @@ -29,7 +28,7 @@ defmodule Lexical.RemoteControl.ProjectNodeTest do linked_node_process = spawn(fn -> - {:ok, _node_name, _} = RemoteControl.start_link(project) + {:ok, _node_name, _} = Engine.start_link(project) send(test_pid, :started) end) diff --git a/apps/remote_control/test/lexical/remote_control/search/fuzzy/scorer_test.exs b/apps/engine/test/engine/search/fuzzy/scorer_test.exs similarity index 87% rename from apps/remote_control/test/lexical/remote_control/search/fuzzy/scorer_test.exs rename to apps/engine/test/engine/search/fuzzy/scorer_test.exs index 2faecc5e..b10a5fa2 100644 --- a/apps/remote_control/test/lexical/remote_control/search/fuzzy/scorer_test.exs +++ b/apps/engine/test/engine/search/fuzzy/scorer_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.RemoteControl.Search.Fuzzy.ScorerTest do - alias Lexical.RemoteControl.Search.Fuzzy.Scorer +defmodule Engine.Search.Fuzzy.ScorerTest do + alias Engine.Search.Fuzzy.Scorer use ExUnit.Case @@ -44,12 +44,12 @@ defmodule Lexical.RemoteControl.Search.Fuzzy.ScorerTest do test "more complete matches are boosted" do results = score_and_sort( - ~w(Lexical.Document.Range Something.Else.Lexical.Other.Type.Document.Thing Lexical.Document), - "Lexical.Document" + ~w(Forge.Document.Range Something.Else.Expert.Other.Type.Document.Thing Forge.Document), + "Forge.Document" ) assert results == - ~w(Lexical.Document Lexical.Document.Range Something.Else.Lexical.Other.Type.Document.Thing) + ~w(Forge.Document Forge.Document.Range Something.Else.Expert.Other.Type.Document.Thing) end test "matches at the beginning of the string are boosted" do diff --git a/apps/remote_control/test/lexical/remote_control/search/fuzzy_test.exs b/apps/engine/test/engine/search/fuzzy_test.exs similarity index 94% rename from apps/remote_control/test/lexical/remote_control/search/fuzzy_test.exs rename to apps/engine/test/engine/search/fuzzy_test.exs index a027b866..3fc1683b 100644 --- a/apps/remote_control/test/lexical/remote_control/search/fuzzy_test.exs +++ b/apps/engine/test/engine/search/fuzzy_test.exs @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.Search.FuzzyTest do - alias Lexical.RemoteControl.Search.Fuzzy - import Lexical.Test.Entry.Builder +defmodule Engine.Search.FuzzyTest do + alias Engine.Search.Fuzzy + import Engine.Test.Entry.Builder use ExUnit.Case setup do diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/ecto_schema_test.exs b/apps/engine/test/engine/search/indexer/extractors/ecto_schema_test.exs similarity index 98% rename from apps/remote_control/test/lexical/remote_control/search/indexer/extractors/ecto_schema_test.exs rename to apps/engine/test/engine/search/indexer/extractors/ecto_schema_test.exs index 2fad5375..f2b1f02f 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/ecto_schema_test.exs +++ b/apps/engine/test/engine/search/indexer/extractors/ecto_schema_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.EctoSchemaTest do - use Lexical.Test.ExtractorCase +defmodule Engine.Search.Indexer.Extractors.EctoSchemaTest do + use Engine.Test.ExtractorCase def index(source) do do_index(source, fn entry -> entry.type == :struct end) diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/ex_unit_test.exs b/apps/engine/test/engine/search/indexer/extractors/ex_unit_test.exs similarity index 97% rename from apps/remote_control/test/lexical/remote_control/search/indexer/extractors/ex_unit_test.exs rename to apps/engine/test/engine/search/indexer/extractors/ex_unit_test.exs index ea8b3958..087c4c27 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/ex_unit_test.exs +++ b/apps/engine/test/engine/search/indexer/extractors/ex_unit_test.exs @@ -1,8 +1,8 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.ExUnitTest do - alias Lexical.RemoteControl.Search.Indexer.Extractors +defmodule Engine.Search.Indexer.Extractors.ExUnitTest do + alias Engine.Search.Indexer.Extractors - use Lexical.Test.ExtractorCase - import Lexical.Test.RangeSupport + use Engine.Test.ExtractorCase + import Forge.Test.RangeSupport @test_types [ :ex_unit_setup, diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/function_definition_test.exs b/apps/engine/test/engine/search/indexer/extractors/function_definition_test.exs similarity index 98% rename from apps/remote_control/test/lexical/remote_control/search/indexer/extractors/function_definition_test.exs rename to apps/engine/test/engine/search/indexer/extractors/function_definition_test.exs index 7b2dea8a..3d7941c1 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/function_definition_test.exs +++ b/apps/engine/test/engine/search/indexer/extractors/function_definition_test.exs @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.FunctionDefinitionTest do - alias Lexical.RemoteControl.Search.Indexer.Entry - use Lexical.Test.ExtractorCase +defmodule Engine.Search.Indexer.Extractors.FunctionDefinitionTest do + alias Engine.Search.Indexer.Entry + use Engine.Test.ExtractorCase def index(source) do do_index(source, fn %Entry{type: type} = entry -> @@ -197,8 +197,7 @@ defmodule Lexical.RemoteControl.Search.Indexer.Extractors.FunctionDefinitionTest end test "skip quoted function defined with defdelegate" do - assert {:ok, [], _doc} = - ~q[ + assert {:ok, [], _doc} = ~q[ quote do defdelegate unquote(symbol)(enumerable, other), to: Enum end diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/function_reference_test.exs b/apps/engine/test/engine/search/indexer/extractors/function_reference_test.exs similarity index 98% rename from apps/remote_control/test/lexical/remote_control/search/indexer/extractors/function_reference_test.exs rename to apps/engine/test/engine/search/indexer/extractors/function_reference_test.exs index e49e5c29..344f6a38 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/function_reference_test.exs +++ b/apps/engine/test/engine/search/indexer/extractors/function_reference_test.exs @@ -1,10 +1,10 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.FunctionReferenceTest do - alias Lexical.Test.RangeSupport +defmodule Engine.Search.Indexer.Extractors.FunctionReferenceTest do + alias Forge.Test.RangeSupport - import Lexical.Test.CodeSigil + import Forge.Test.CodeSigil import RangeSupport - use Lexical.Test.ExtractorCase + use Engine.Test.ExtractorCase def index(source) do do_index(source, fn entry -> diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/module_attribute_test.exs b/apps/engine/test/engine/search/indexer/extractors/module_attribute_test.exs similarity index 97% rename from apps/remote_control/test/lexical/remote_control/search/indexer/extractors/module_attribute_test.exs rename to apps/engine/test/engine/search/indexer/extractors/module_attribute_test.exs index 153498d3..418a3b9b 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/module_attribute_test.exs +++ b/apps/engine/test/engine/search/indexer/extractors/module_attribute_test.exs @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.ModuleAttributeTest do - alias Lexical.RemoteControl.Search.Subject - use Lexical.Test.ExtractorCase +defmodule Engine.Search.Indexer.Extractors.ModuleAttributeTest do + alias Engine.Search.Subject + use Engine.Test.ExtractorCase def index(source) do do_index(source, fn entry -> diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/module_test.exs b/apps/engine/test/engine/search/indexer/extractors/module_test.exs similarity index 99% rename from apps/remote_control/test/lexical/remote_control/search/indexer/extractors/module_test.exs rename to apps/engine/test/engine/search/indexer/extractors/module_test.exs index b1ea0695..06a9b1ef 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/module_test.exs +++ b/apps/engine/test/engine/search/indexer/extractors/module_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.ModuleTest do - use Lexical.Test.ExtractorCase +defmodule Engine.Search.Indexer.Extractors.ModuleTest do + use Engine.Test.ExtractorCase def index(source) do do_index(source, &(&1.type == :module)) diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/protocol_test.exs b/apps/engine/test/engine/search/indexer/extractors/protocol_test.exs similarity index 97% rename from apps/remote_control/test/lexical/remote_control/search/indexer/extractors/protocol_test.exs rename to apps/engine/test/engine/search/indexer/extractors/protocol_test.exs index 4c0ac283..937e6e58 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/protocol_test.exs +++ b/apps/engine/test/engine/search/indexer/extractors/protocol_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.ProtocolTest do - use Lexical.Test.ExtractorCase +defmodule Engine.Search.Indexer.Extractors.ProtocolTest do + use Engine.Test.ExtractorCase def index(source) do do_index(source, &match?({:protocol, _}, &1.type)) diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/struct_definition_test.exs b/apps/engine/test/engine/search/indexer/extractors/struct_definition_test.exs similarity index 93% rename from apps/remote_control/test/lexical/remote_control/search/indexer/extractors/struct_definition_test.exs rename to apps/engine/test/engine/search/indexer/extractors/struct_definition_test.exs index 10ea7270..39c43782 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/struct_definition_test.exs +++ b/apps/engine/test/engine/search/indexer/extractors/struct_definition_test.exs @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.StructDefinitionTest do - alias Lexical.RemoteControl.Search.Subject - use Lexical.Test.ExtractorCase +defmodule Engine.Search.Indexer.Extractors.StructDefinitionTest do + alias Engine.Search.Subject + use Engine.Test.ExtractorCase def index(source) do do_index(source, fn entry -> diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/struct_reference_test.exs b/apps/engine/test/engine/search/indexer/extractors/struct_reference_test.exs similarity index 98% rename from apps/remote_control/test/lexical/remote_control/search/indexer/extractors/struct_reference_test.exs rename to apps/engine/test/engine/search/indexer/extractors/struct_reference_test.exs index 4849ca7c..96f3774d 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/struct_reference_test.exs +++ b/apps/engine/test/engine/search/indexer/extractors/struct_reference_test.exs @@ -1,6 +1,6 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.StructReferenceTest do - alias Lexical.RemoteControl.Search.Subject - use Lexical.Test.ExtractorCase +defmodule Engine.Search.Indexer.Extractors.StructReferenceTest do + alias Engine.Search.Subject + use Engine.Test.ExtractorCase def index(source) do do_index(source, fn entry -> diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/variable_test.exs b/apps/engine/test/engine/search/indexer/extractors/variable_test.exs similarity index 99% rename from apps/remote_control/test/lexical/remote_control/search/indexer/extractors/variable_test.exs rename to apps/engine/test/engine/search/indexer/extractors/variable_test.exs index c5053d1f..d30e5574 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer/extractors/variable_test.exs +++ b/apps/engine/test/engine/search/indexer/extractors/variable_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.RemoteControl.Search.Indexer.Extractors.VariableTest do - alias Lexical.RemoteControl.Search.Indexer.Extractors +defmodule Engine.Search.Indexer.Extractors.VariableTest do + alias Engine.Search.Indexer.Extractors - use Lexical.Test.ExtractorCase + use Engine.Test.ExtractorCase def index_references(source) do do_index(source, fn entry -> entry.type == :variable and entry.subtype == :reference end, [ diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer/metadata_test.exs b/apps/engine/test/engine/search/indexer/metadata_test.exs similarity index 93% rename from apps/remote_control/test/lexical/remote_control/search/indexer/metadata_test.exs rename to apps/engine/test/engine/search/indexer/metadata_test.exs index d2c1a1f0..785ddd17 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer/metadata_test.exs +++ b/apps/engine/test/engine/search/indexer/metadata_test.exs @@ -1,14 +1,14 @@ -defmodule Lexical.RemoteControl.Search.Indexer.MetadataTest do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.RemoteControl.Search.Indexer.Metadata +defmodule Engine.Search.Indexer.MetadataTest do + alias Forge.Ast + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range + alias Engine.Search.Indexer.Metadata use ExUnit.Case - import Lexical.Test.RangeSupport - import Lexical.Test.CodeSigil + import Forge.Test.RangeSupport + import Forge.Test.CodeSigil describe "blocks in modules" do test "finds a block in an empty module" do diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer/structure_test.exs b/apps/engine/test/engine/search/indexer/structure_test.exs similarity index 92% rename from apps/remote_control/test/lexical/remote_control/search/indexer/structure_test.exs rename to apps/engine/test/engine/search/indexer/structure_test.exs index 0fdc84cb..e21fcbf9 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer/structure_test.exs +++ b/apps/engine/test/engine/search/indexer/structure_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.RemoteControl.Search.Indexer.StructureTest do - use Lexical.Test.ExtractorCase +defmodule Engine.Search.Indexer.StructureTest do + use Engine.Test.ExtractorCase def index(source) do case do_index(source, fn entry -> entry.type != :metadata end) do diff --git a/apps/remote_control/test/lexical/remote_control/search/indexer_test.exs b/apps/engine/test/engine/search/indexer_test.exs similarity index 95% rename from apps/remote_control/test/lexical/remote_control/search/indexer_test.exs rename to apps/engine/test/engine/search/indexer_test.exs index ae19734c..a7081c10 100644 --- a/apps/remote_control/test/lexical/remote_control/search/indexer_test.exs +++ b/apps/engine/test/engine/search/indexer_test.exs @@ -1,12 +1,12 @@ -defmodule Lexical.RemoteControl.Search.IndexerTest do - alias Lexical.Project - alias Lexical.RemoteControl.Dispatch - alias Lexical.RemoteControl.Search.Indexer - alias Lexical.RemoteControl.Search.Indexer.Entry +defmodule Engine.Search.IndexerTest do + alias Forge.Project + alias Engine.Dispatch + alias Engine.Search.Indexer + alias Engine.Search.Indexer.Entry use ExUnit.Case use Patch - import Lexical.Test.Fixtures + import Engine.Test.Fixtures defmodule FakeBackend do def set_entries(entries) when is_list(entries) do diff --git a/apps/remote_control/test/lexical/remote_control/search/store/backends/ets/schema_test.exs b/apps/engine/test/engine/search/store/backends/ets/schema_test.exs similarity index 94% rename from apps/remote_control/test/lexical/remote_control/search/store/backends/ets/schema_test.exs rename to apps/engine/test/engine/search/store/backends/ets/schema_test.exs index e6ae8fea..60706b8e 100644 --- a/apps/remote_control/test/lexical/remote_control/search/store/backends/ets/schema_test.exs +++ b/apps/engine/test/engine/search/store/backends/ets/schema_test.exs @@ -1,9 +1,9 @@ -defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.SchemaTest do - alias Lexical.Project - alias Lexical.RemoteControl.Search.Store.Backends.Ets.Schema - alias Lexical.RemoteControl.Search.Store.Backends.Ets.Wal +defmodule Engine.Search.Store.Backends.Ets.SchemaTest do + alias Forge.Project + alias Engine.Search.Store.Backends.Ets.Schema + alias Engine.Search.Store.Backends.Ets.Wal - import Lexical.Test.Fixtures + import Engine.Test.Fixtures import Wal, only: :macros use ExUnit.Case diff --git a/apps/remote_control/test/lexical/remote_control/search/store/backends/ets/wal_test.exs b/apps/engine/test/engine/search/store/backends/ets/wal_test.exs similarity index 98% rename from apps/remote_control/test/lexical/remote_control/search/store/backends/ets/wal_test.exs rename to apps/engine/test/engine/search/store/backends/ets/wal_test.exs index e5ea558f..ea812cec 100644 --- a/apps/remote_control/test/lexical/remote_control/search/store/backends/ets/wal_test.exs +++ b/apps/engine/test/engine/search/store/backends/ets/wal_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.RemoteControl.Search.Store.Backends.Ets.WalTest do - alias Lexical.RemoteControl.Search.Store.Backends.Ets.Wal +defmodule Engine.Search.Store.Backends.Ets.WalTest do + alias Engine.Search.Store.Backends.Ets.Wal - import Lexical.Test.Fixtures + import Engine.Test.Fixtures use ExUnit.Case use Patch diff --git a/apps/remote_control/test/lexical/remote_control/search/store/backends/ets_test.exs b/apps/engine/test/engine/search/store/backends/ets_test.exs similarity index 95% rename from apps/remote_control/test/lexical/remote_control/search/store/backends/ets_test.exs rename to apps/engine/test/engine/search/store/backends/ets_test.exs index dfb2d98b..f821560a 100644 --- a/apps/remote_control/test/lexical/remote_control/search/store/backends/ets_test.exs +++ b/apps/engine/test/engine/search/store/backends/ets_test.exs @@ -1,11 +1,11 @@ -defmodule Lexical.RemoteControl.Search.Store.Backend.EtsTest do - alias Lexical.Project - alias Lexical.RemoteControl.Dispatch - alias Lexical.RemoteControl.Search.Store - alias Lexical.RemoteControl.Search.Store.Backends - alias Lexical.Test.Entry - alias Lexical.Test.EventualAssertions - alias Lexical.Test.Fixtures +defmodule Engine.Search.Store.Backend.EtsTest do + alias Forge.Project + alias Engine.Dispatch + alias Engine.Search.Store + alias Engine.Search.Store.Backends + alias Engine.Test.Entry + alias Forge.Test.EventualAssertions + alias Engine.Test.Fixtures use ExUnit.Case, async: false @@ -22,7 +22,7 @@ defmodule Lexical.RemoteControl.Search.Store.Backend.EtsTest do # Removing the index at the end will also let other test cases # start with a clean slate. - Lexical.RemoteControl.set_project(project) + Engine.set_project(project) delete_indexes(project, backend) diff --git a/apps/remote_control/test/lexical/remote_control/search/store_test.exs b/apps/engine/test/engine/search/store_test.exs similarity index 94% rename from apps/remote_control/test/lexical/remote_control/search/store_test.exs rename to apps/engine/test/engine/search/store_test.exs index 5122efce..0d00f38f 100644 --- a/apps/remote_control/test/lexical/remote_control/search/store_test.exs +++ b/apps/engine/test/engine/search/store_test.exs @@ -1,25 +1,25 @@ -defmodule Lexical.RemoteControl.Search.StoreTest do - alias Lexical.RemoteControl.Dispatch - alias Lexical.RemoteControl.Search.Indexer - alias Lexical.RemoteControl.Search.Indexer.Entry - alias Lexical.RemoteControl.Search.Store - alias Lexical.RemoteControl.Search.Store.Backends.Ets - alias Lexical.Test.Entry - alias Lexical.Test.EventualAssertions - alias Lexical.Test.Fixtures +defmodule Engine.Search.StoreTest do + alias Engine.Dispatch + alias Engine.Search.Indexer + alias Engine.Search.Indexer.Entry + alias Engine.Search.Store + alias Engine.Search.Store.Backends.Ets + alias Engine.Test.Entry + alias Forge.Test.EventualAssertions + alias Engine.Test.Fixtures use ExUnit.Case, async: false import Entry.Builder import EventualAssertions import Fixtures - import Lexical.Test.CodeSigil + import Forge.Test.CodeSigil @backends [Ets] setup_all do project = project() - Lexical.RemoteControl.set_project(project) + Engine.set_project(project) # These test cases require an clean slate going into them # so we should remove the indexes once when the tests start, # and again when tests end, so the next test has a clean slate. @@ -330,11 +330,11 @@ defmodule Lexical.RemoteControl.Search.StoreTest do end defp entries(source) do - document = Lexical.Document.new("file:///file.ex", source, 1) + document = Forge.Document.new("file:///file.ex", source, 1) {:ok, entries} = document - |> Lexical.Ast.analyze() + |> Forge.Ast.analyze() |> Indexer.Quoted.index_with_cleanup() Store.replace(entries) diff --git a/apps/lexical_credo/.formatter.exs b/apps/engine/test/fixtures/compilation_callback_errors/.formatter.exs similarity index 100% rename from apps/lexical_credo/.formatter.exs rename to apps/engine/test/fixtures/compilation_callback_errors/.formatter.exs diff --git a/apps/remote_control/test/fixtures/compilation_callback_errors/.gitignore b/apps/engine/test/fixtures/compilation_callback_errors/.gitignore similarity index 100% rename from apps/remote_control/test/fixtures/compilation_callback_errors/.gitignore rename to apps/engine/test/fixtures/compilation_callback_errors/.gitignore diff --git a/apps/remote_control/test/fixtures/compilation_callback_errors/lib/compile_callback_error.ex b/apps/engine/test/fixtures/compilation_callback_errors/lib/compile_callback_error.ex similarity index 100% rename from apps/remote_control/test/fixtures/compilation_callback_errors/lib/compile_callback_error.ex rename to apps/engine/test/fixtures/compilation_callback_errors/lib/compile_callback_error.ex diff --git a/apps/remote_control/test/fixtures/compilation_callback_errors/mix.exs b/apps/engine/test/fixtures/compilation_callback_errors/mix.exs similarity index 100% rename from apps/remote_control/test/fixtures/compilation_callback_errors/mix.exs rename to apps/engine/test/fixtures/compilation_callback_errors/mix.exs diff --git a/apps/remote_control/test/fixtures/compilation_callback_errors/.formatter.exs b/apps/engine/test/fixtures/compilation_errors/.formatter.exs similarity index 100% rename from apps/remote_control/test/fixtures/compilation_callback_errors/.formatter.exs rename to apps/engine/test/fixtures/compilation_errors/.formatter.exs diff --git a/apps/remote_control/test/fixtures/compilation_errors/.gitignore b/apps/engine/test/fixtures/compilation_errors/.gitignore similarity index 100% rename from apps/remote_control/test/fixtures/compilation_errors/.gitignore rename to apps/engine/test/fixtures/compilation_errors/.gitignore diff --git a/apps/remote_control/test/fixtures/compilation_errors/README.md b/apps/engine/test/fixtures/compilation_errors/README.md similarity index 100% rename from apps/remote_control/test/fixtures/compilation_errors/README.md rename to apps/engine/test/fixtures/compilation_errors/README.md diff --git a/apps/remote_control/test/fixtures/compilation_errors/lib/compilation_errors.ex b/apps/engine/test/fixtures/compilation_errors/lib/compilation_errors.ex similarity index 100% rename from apps/remote_control/test/fixtures/compilation_errors/lib/compilation_errors.ex rename to apps/engine/test/fixtures/compilation_errors/lib/compilation_errors.ex diff --git a/apps/remote_control/test/fixtures/compilation_errors/mix.exs b/apps/engine/test/fixtures/compilation_errors/mix.exs similarity index 100% rename from apps/remote_control/test/fixtures/compilation_errors/mix.exs rename to apps/engine/test/fixtures/compilation_errors/mix.exs diff --git a/apps/remote_control/test/fixtures/compilation_errors/.formatter.exs b/apps/engine/test/fixtures/compilation_warnings/.formatter.exs similarity index 100% rename from apps/remote_control/test/fixtures/compilation_errors/.formatter.exs rename to apps/engine/test/fixtures/compilation_warnings/.formatter.exs diff --git a/apps/remote_control/test/fixtures/compilation_warnings/.gitignore b/apps/engine/test/fixtures/compilation_warnings/.gitignore similarity index 100% rename from apps/remote_control/test/fixtures/compilation_warnings/.gitignore rename to apps/engine/test/fixtures/compilation_warnings/.gitignore diff --git a/apps/remote_control/test/fixtures/compilation_warnings/README.md b/apps/engine/test/fixtures/compilation_warnings/README.md similarity index 100% rename from apps/remote_control/test/fixtures/compilation_warnings/README.md rename to apps/engine/test/fixtures/compilation_warnings/README.md diff --git a/apps/remote_control/test/fixtures/compilation_warnings/lib/unused_variable.ex b/apps/engine/test/fixtures/compilation_warnings/lib/unused_variable.ex similarity index 100% rename from apps/remote_control/test/fixtures/compilation_warnings/lib/unused_variable.ex rename to apps/engine/test/fixtures/compilation_warnings/lib/unused_variable.ex diff --git a/apps/remote_control/test/fixtures/compilation_warnings/mix.exs b/apps/engine/test/fixtures/compilation_warnings/mix.exs similarity index 100% rename from apps/remote_control/test/fixtures/compilation_warnings/mix.exs rename to apps/engine/test/fixtures/compilation_warnings/mix.exs diff --git a/apps/remote_control/test/fixtures/dependency/lib/dependency/structs.ex b/apps/engine/test/fixtures/dependency/lib/dependency/structs.ex similarity index 100% rename from apps/remote_control/test/fixtures/dependency/lib/dependency/structs.ex rename to apps/engine/test/fixtures/dependency/lib/dependency/structs.ex diff --git a/apps/remote_control/test/fixtures/navigations/lib/macro_struct.ex b/apps/engine/test/fixtures/navigations/lib/macro_struct.ex similarity index 100% rename from apps/remote_control/test/fixtures/navigations/lib/macro_struct.ex rename to apps/engine/test/fixtures/navigations/lib/macro_struct.ex diff --git a/apps/remote_control/test/fixtures/navigations/lib/multi_arity.ex b/apps/engine/test/fixtures/navigations/lib/multi_arity.ex similarity index 100% rename from apps/remote_control/test/fixtures/navigations/lib/multi_arity.ex rename to apps/engine/test/fixtures/navigations/lib/multi_arity.ex diff --git a/apps/remote_control/test/fixtures/navigations/lib/my_definition.ex b/apps/engine/test/fixtures/navigations/lib/my_definition.ex similarity index 100% rename from apps/remote_control/test/fixtures/navigations/lib/my_definition.ex rename to apps/engine/test/fixtures/navigations/lib/my_definition.ex diff --git a/apps/remote_control/test/fixtures/navigations/lib/struct.ex b/apps/engine/test/fixtures/navigations/lib/struct.ex similarity index 100% rename from apps/remote_control/test/fixtures/navigations/lib/struct.ex rename to apps/engine/test/fixtures/navigations/lib/struct.ex diff --git a/apps/remote_control/test/fixtures/navigations/lib/uses.ex b/apps/engine/test/fixtures/navigations/lib/uses.ex similarity index 100% rename from apps/remote_control/test/fixtures/navigations/lib/uses.ex rename to apps/engine/test/fixtures/navigations/lib/uses.ex diff --git a/apps/remote_control/test/fixtures/navigations/mix.exs b/apps/engine/test/fixtures/navigations/mix.exs similarity index 100% rename from apps/remote_control/test/fixtures/navigations/mix.exs rename to apps/engine/test/fixtures/navigations/mix.exs diff --git a/apps/remote_control/test/fixtures/parse_errors/lib/parse_errors.ex b/apps/engine/test/fixtures/parse_errors/lib/parse_errors.ex similarity index 100% rename from apps/remote_control/test/fixtures/parse_errors/lib/parse_errors.ex rename to apps/engine/test/fixtures/parse_errors/lib/parse_errors.ex diff --git a/apps/remote_control/test/fixtures/parse_errors/mix.exs b/apps/engine/test/fixtures/parse_errors/mix.exs similarity index 100% rename from apps/remote_control/test/fixtures/parse_errors/mix.exs rename to apps/engine/test/fixtures/parse_errors/mix.exs diff --git a/apps/remote_control/test/fixtures/project/.formatter.exs b/apps/engine/test/fixtures/project/.formatter.exs similarity index 100% rename from apps/remote_control/test/fixtures/project/.formatter.exs rename to apps/engine/test/fixtures/project/.formatter.exs diff --git a/apps/remote_control/test/fixtures/project/.gitignore b/apps/engine/test/fixtures/project/.gitignore similarity index 100% rename from apps/remote_control/test/fixtures/project/.gitignore rename to apps/engine/test/fixtures/project/.gitignore diff --git a/apps/remote_control/test/fixtures/project/README.md b/apps/engine/test/fixtures/project/README.md similarity index 100% rename from apps/remote_control/test/fixtures/project/README.md rename to apps/engine/test/fixtures/project/README.md diff --git a/apps/remote_control/test/fixtures/project/lib/behaviours.ex b/apps/engine/test/fixtures/project/lib/behaviours.ex similarity index 100% rename from apps/remote_control/test/fixtures/project/lib/behaviours.ex rename to apps/engine/test/fixtures/project/lib/behaviours.ex diff --git a/apps/remote_control/test/fixtures/project/lib/default_args.ex b/apps/engine/test/fixtures/project/lib/default_args.ex similarity index 100% rename from apps/remote_control/test/fixtures/project/lib/default_args.ex rename to apps/engine/test/fixtures/project/lib/default_args.ex diff --git a/apps/remote_control/test/fixtures/project/lib/functions.ex b/apps/engine/test/fixtures/project/lib/functions.ex similarity index 100% rename from apps/remote_control/test/fixtures/project/lib/functions.ex rename to apps/engine/test/fixtures/project/lib/functions.ex diff --git a/apps/remote_control/test/fixtures/project/lib/macros.ex b/apps/engine/test/fixtures/project/lib/macros.ex similarity index 100% rename from apps/remote_control/test/fixtures/project/lib/macros.ex rename to apps/engine/test/fixtures/project/lib/macros.ex diff --git a/apps/remote_control/test/fixtures/project/lib/other_modules.ex b/apps/engine/test/fixtures/project/lib/other_modules.ex similarity index 100% rename from apps/remote_control/test/fixtures/project/lib/other_modules.ex rename to apps/engine/test/fixtures/project/lib/other_modules.ex diff --git a/apps/remote_control/test/fixtures/project/lib/project.ex b/apps/engine/test/fixtures/project/lib/project.ex similarity index 100% rename from apps/remote_control/test/fixtures/project/lib/project.ex rename to apps/engine/test/fixtures/project/lib/project.ex diff --git a/apps/remote_control/test/fixtures/project/lib/structs.ex b/apps/engine/test/fixtures/project/lib/structs.ex similarity index 100% rename from apps/remote_control/test/fixtures/project/lib/structs.ex rename to apps/engine/test/fixtures/project/lib/structs.ex diff --git a/apps/remote_control/test/fixtures/project/mix.exs b/apps/engine/test/fixtures/project/mix.exs similarity index 100% rename from apps/remote_control/test/fixtures/project/mix.exs rename to apps/engine/test/fixtures/project/mix.exs diff --git a/apps/remote_control/test/fixtures/compilation_warnings/.formatter.exs b/apps/engine/test/fixtures/project_metadata/.formatter.exs similarity index 100% rename from apps/remote_control/test/fixtures/compilation_warnings/.formatter.exs rename to apps/engine/test/fixtures/project_metadata/.formatter.exs diff --git a/apps/remote_control/test/fixtures/project_metadata/.gitignore b/apps/engine/test/fixtures/project_metadata/.gitignore similarity index 100% rename from apps/remote_control/test/fixtures/project_metadata/.gitignore rename to apps/engine/test/fixtures/project_metadata/.gitignore diff --git a/apps/remote_control/test/fixtures/project_metadata/README.md b/apps/engine/test/fixtures/project_metadata/README.md similarity index 100% rename from apps/remote_control/test/fixtures/project_metadata/README.md rename to apps/engine/test/fixtures/project_metadata/README.md diff --git a/apps/remote_control/test/fixtures/project_metadata/config/config.exs b/apps/engine/test/fixtures/project_metadata/config/config.exs similarity index 100% rename from apps/remote_control/test/fixtures/project_metadata/config/config.exs rename to apps/engine/test/fixtures/project_metadata/config/config.exs diff --git a/apps/remote_control/test/fixtures/project_metadata/lib/project_metadata.ex b/apps/engine/test/fixtures/project_metadata/lib/project_metadata.ex similarity index 100% rename from apps/remote_control/test/fixtures/project_metadata/lib/project_metadata.ex rename to apps/engine/test/fixtures/project_metadata/lib/project_metadata.ex diff --git a/apps/remote_control/test/fixtures/project_metadata/mix.exs b/apps/engine/test/fixtures/project_metadata/mix.exs similarity index 100% rename from apps/remote_control/test/fixtures/project_metadata/mix.exs rename to apps/engine/test/fixtures/project_metadata/mix.exs diff --git a/apps/remote_control/test/fixtures/umbrella/.formatter.exs b/apps/engine/test/fixtures/umbrella/.formatter.exs similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/.formatter.exs rename to apps/engine/test/fixtures/umbrella/.formatter.exs diff --git a/apps/remote_control/test/fixtures/umbrella/.gitignore b/apps/engine/test/fixtures/umbrella/.gitignore similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/.gitignore rename to apps/engine/test/fixtures/umbrella/.gitignore diff --git a/apps/remote_control/test/fixtures/umbrella/README.md b/apps/engine/test/fixtures/umbrella/README.md similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/README.md rename to apps/engine/test/fixtures/umbrella/README.md diff --git a/apps/remote_control/test/fixtures/project_metadata/.formatter.exs b/apps/engine/test/fixtures/umbrella/apps/first/.formatter.exs similarity index 100% rename from apps/remote_control/test/fixtures/project_metadata/.formatter.exs rename to apps/engine/test/fixtures/umbrella/apps/first/.formatter.exs diff --git a/apps/remote_control/test/fixtures/umbrella/apps/first/.gitignore b/apps/engine/test/fixtures/umbrella/apps/first/.gitignore similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/apps/first/.gitignore rename to apps/engine/test/fixtures/umbrella/apps/first/.gitignore diff --git a/apps/remote_control/test/fixtures/umbrella/apps/first/README.md b/apps/engine/test/fixtures/umbrella/apps/first/README.md similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/apps/first/README.md rename to apps/engine/test/fixtures/umbrella/apps/first/README.md diff --git a/apps/remote_control/test/fixtures/umbrella/apps/first/lib/umbrella/first.ex b/apps/engine/test/fixtures/umbrella/apps/first/lib/umbrella/first.ex similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/apps/first/lib/umbrella/first.ex rename to apps/engine/test/fixtures/umbrella/apps/first/lib/umbrella/first.ex diff --git a/apps/remote_control/test/fixtures/umbrella/apps/first/mix.exs b/apps/engine/test/fixtures/umbrella/apps/first/mix.exs similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/apps/first/mix.exs rename to apps/engine/test/fixtures/umbrella/apps/first/mix.exs diff --git a/apps/remote_control/test/fixtures/umbrella/apps/first/.formatter.exs b/apps/engine/test/fixtures/umbrella/apps/second/.formatter.exs similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/apps/first/.formatter.exs rename to apps/engine/test/fixtures/umbrella/apps/second/.formatter.exs diff --git a/apps/remote_control/test/fixtures/umbrella/apps/second/.gitignore b/apps/engine/test/fixtures/umbrella/apps/second/.gitignore similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/apps/second/.gitignore rename to apps/engine/test/fixtures/umbrella/apps/second/.gitignore diff --git a/apps/remote_control/test/fixtures/umbrella/apps/second/README.md b/apps/engine/test/fixtures/umbrella/apps/second/README.md similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/apps/second/README.md rename to apps/engine/test/fixtures/umbrella/apps/second/README.md diff --git a/apps/remote_control/test/fixtures/umbrella/apps/second/lib/umbrella/second.ex b/apps/engine/test/fixtures/umbrella/apps/second/lib/umbrella/second.ex similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/apps/second/lib/umbrella/second.ex rename to apps/engine/test/fixtures/umbrella/apps/second/lib/umbrella/second.ex diff --git a/apps/remote_control/test/fixtures/umbrella/apps/second/mix.exs b/apps/engine/test/fixtures/umbrella/apps/second/mix.exs similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/apps/second/mix.exs rename to apps/engine/test/fixtures/umbrella/apps/second/mix.exs diff --git a/apps/remote_control/test/fixtures/umbrella/config/config.exs b/apps/engine/test/fixtures/umbrella/config/config.exs similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/config/config.exs rename to apps/engine/test/fixtures/umbrella/config/config.exs diff --git a/apps/remote_control/test/fixtures/umbrella/mix.exs b/apps/engine/test/fixtures/umbrella/mix.exs similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/mix.exs rename to apps/engine/test/fixtures/umbrella/mix.exs diff --git a/apps/remote_control/test/lexical/remote_control_test.exs b/apps/engine/test/remote_control_test.exs similarity index 53% rename from apps/remote_control/test/lexical/remote_control_test.exs rename to apps/engine/test/remote_control_test.exs index fe1a1cdd..3f156fd7 100644 --- a/apps/remote_control/test/lexical/remote_control_test.exs +++ b/apps/engine/test/remote_control_test.exs @@ -1,20 +1,20 @@ -defmodule Lexical.RemoteControlTest do - alias Lexical.Document - alias Lexical.Project - alias Lexical.RemoteControl +defmodule EngineTest do + alias Forge.Document + alias Forge.Project + alias Engine use ExUnit.Case - use Lexical.Test.EventualAssertions - import Lexical.Test.Fixtures + use Forge.Test.EventualAssertions + import Engine.Test.Fixtures def start_project(%Project{} = project) do - start_supervised!({Lexical.RemoteControl.ProjectNodeSupervisor, project}) - assert {:ok, _, _} = RemoteControl.start_link(project) + start_supervised!({Engine.ProjectNodeSupervisor, project}) + assert {:ok, _, _} = Engine.start_link(project) :ok end - def remote_control_cwd(project) do - RemoteControl.call(project, File, :cwd!, []) + def engine_cwd(project) do + Engine.call(project, File, :cwd!, []) end describe "detecting an umbrella app" do @@ -29,7 +29,7 @@ defmodule Lexical.RemoteControlTest do start_project(subapp_project) - assert_eventually remote_control_cwd(subapp_project) == Project.root_path(parent_project), + assert_eventually engine_cwd(subapp_project) == Project.root_path(parent_project), 250 end @@ -37,7 +37,7 @@ defmodule Lexical.RemoteControlTest do parent_project = project(:umbrella) start_project(parent_project) - assert_eventually remote_control_cwd(parent_project) == Project.root_path(parent_project), + assert_eventually engine_cwd(parent_project) == Project.root_path(parent_project), 250 end end diff --git a/apps/remote_control/test/support/lexical/test/code_mod_case.ex b/apps/engine/test/support/test/code_mod_case.ex similarity index 89% rename from apps/remote_control/test/support/lexical/test/code_mod_case.ex rename to apps/engine/test/support/test/code_mod_case.ex index c3f6e897..9e2f49ff 100644 --- a/apps/remote_control/test/support/lexical/test/code_mod_case.ex +++ b/apps/engine/test/support/test/code_mod_case.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Test.CodeMod.Case do - alias Lexical.Document - alias Lexical.Test.CodeSigil +defmodule Engine.Test.CodeMod.Case do + alias Forge.Document + alias Forge.Test.CodeSigil use ExUnit.CaseTemplate @@ -8,7 +8,7 @@ defmodule Lexical.Test.CodeMod.Case do convert_to_ast? = Keyword.get(opts, :enable_ast_conversion, true) quote do - import Lexical.Test.Fixtures + import Engine.Test.Fixtures import unquote(CodeSigil), only: [sigil_q: 2] def apply_code_mod(_, _, _) do @@ -25,7 +25,7 @@ defmodule Lexical.Test.CodeMod.Case do end defp maybe_convert_to_ast(code, options) do - alias Lexical.Ast + alias Forge.Ast if Keyword.get(options, :convert_to_ast, unquote(convert_to_ast?)) do case Ast.from(code) do diff --git a/apps/remote_control/test/support/lexical/test/entry/entry_builder.ex b/apps/engine/test/support/test/entry/entry_builder.ex similarity index 80% rename from apps/remote_control/test/support/lexical/test/entry/entry_builder.ex rename to apps/engine/test/support/test/entry/entry_builder.ex index 69eed838..4d56eb17 100644 --- a/apps/remote_control/test/support/lexical/test/entry/entry_builder.ex +++ b/apps/engine/test/support/test/entry/entry_builder.ex @@ -1,9 +1,9 @@ -defmodule Lexical.Test.Entry.Builder do - alias Lexical.Document.Range - alias Lexical.Identifier - alias Lexical.RemoteControl.Search.Indexer.Entry +defmodule Engine.Test.Entry.Builder do + alias Forge.Document.Range + alias Forge.Identifier + alias Engine.Search.Indexer.Entry - import Lexical.Test.PositionSupport + import Forge.Test.PositionSupport def entry(fields \\ []) do defaults = [ @@ -13,7 +13,7 @@ defmodule Lexical.Test.Entry.Builder do range: range(1, 1, 1, 5), subject: Module, type: :module, - application: :remote_control + application: :engine ] fields = Keyword.merge(defaults, fields) diff --git a/apps/remote_control/test/support/lexical/test/extractor_case.ex b/apps/engine/test/support/test/extractor_case.ex similarity index 82% rename from apps/remote_control/test/support/lexical/test/extractor_case.ex rename to apps/engine/test/support/test/extractor_case.ex index 30bc9395..fd989ddd 100644 --- a/apps/remote_control/test/support/lexical/test/extractor_case.ex +++ b/apps/engine/test/support/test/extractor_case.ex @@ -1,14 +1,14 @@ -defmodule Lexical.Test.ExtractorCase do - alias Lexical.Document - alias Lexical.RemoteControl.Search.Indexer +defmodule Engine.Test.ExtractorCase do + alias Forge.Document + alias Engine.Search.Indexer use ExUnit.CaseTemplate - import Lexical.Test.CodeSigil + import Forge.Test.CodeSigil using do quote do - import Lexical.Test.CodeSigil - import Lexical.Test.RangeSupport + import Forge.Test.CodeSigil + import Forge.Test.RangeSupport import unquote(__MODULE__) end end diff --git a/apps/remote_control/test/support/lexical/test/fixtures.ex b/apps/engine/test/support/test/fixtures.ex similarity index 68% rename from apps/remote_control/test/support/lexical/test/fixtures.ex rename to apps/engine/test/support/test/fixtures.ex index 797bc2a7..e16e284a 100644 --- a/apps/remote_control/test/support/lexical/test/fixtures.ex +++ b/apps/engine/test/support/test/fixtures.ex @@ -1,20 +1,20 @@ -defmodule Lexical.Test.Fixtures do - alias Lexical.Document - alias Lexical.Project +defmodule Engine.Test.Fixtures do + alias Forge.Document + alias Forge.Project use ExUnit.CaseTemplate def fixtures_path do - [__ENV__.file, "..", "..", "..", "..", "fixtures"] + [__ENV__.file, "..", "..", "..", "fixtures"] |> Path.join() |> Path.expand() end def project(project_name) do - [Path.dirname(__ENV__.file), "..", "..", "..", "fixtures", to_string(project_name)] + [Path.dirname(__ENV__.file), "..", "..", "fixtures", to_string(project_name)] |> Path.join() |> Path.expand() - |> Lexical.Document.Path.to_uri() + |> Forge.Document.Path.to_uri() |> Project.new() end diff --git a/apps/remote_control/test/support/lexical/test/mfa_support.ex b/apps/engine/test/support/test/mfa_support.ex similarity index 79% rename from apps/remote_control/test/support/lexical/test/mfa_support.ex rename to apps/engine/test/support/test/mfa_support.ex index 88bded24..b4009714 100644 --- a/apps/remote_control/test/support/lexical/test/mfa_support.ex +++ b/apps/engine/test/support/test/mfa_support.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Test.MfaSupport do +defmodule Engine.Test.MfaSupport do defmacro mfa(ast) do {m, f, a} = Macro.decompose_call(ast) diff --git a/apps/remote_control/test/test_helper.exs b/apps/engine/test/test_helper.exs similarity index 90% rename from apps/remote_control/test/test_helper.exs rename to apps/engine/test/test_helper.exs index 877e84ba..8a213117 100644 --- a/apps/remote_control/test/test_helper.exs +++ b/apps/engine/test/test_helper.exs @@ -8,7 +8,7 @@ with :nonode@nohost <- Node.self() do :net_kernel.start(:"testing-#{random_number}@127.0.0.1", %{name_domain: :longnames}) end -Lexical.RemoteControl.Module.Loader.start_link(nil) +Engine.Module.Loader.start_link(nil) ExUnit.configure(assert_receive_timeout: 1000) ExUnit.start(exclude: [:skip]) diff --git a/apps/lexical_credo/.credo.exs b/apps/expert/.credo.exs similarity index 100% rename from apps/lexical_credo/.credo.exs rename to apps/expert/.credo.exs diff --git a/apps/server/.formatter.exs b/apps/expert/.formatter.exs similarity index 88% rename from apps/server/.formatter.exs rename to apps/expert/.formatter.exs index 4e19d224..f56e60d1 100644 --- a/apps/server/.formatter.exs +++ b/apps/expert/.formatter.exs @@ -1,9 +1,9 @@ # Used by "mix format" imported_deps = if Mix.env() == :test do - [:patch, :common] + [:patch, :forge] else - [:common] + [:forge] end locals_without_parens = [with_progress: 3] diff --git a/apps/server/.gitignore b/apps/expert/.gitignore similarity index 100% rename from apps/server/.gitignore rename to apps/expert/.gitignore diff --git a/apps/server/.iex.exs b/apps/expert/.iex.exs similarity index 53% rename from apps/server/.iex.exs rename to apps/expert/.iex.exs index 033717f2..8936c259 100644 --- a/apps/server/.iex.exs +++ b/apps/expert/.iex.exs @@ -1,5 +1,5 @@ -alias Lexical.Project -alias Lexical.RemoteControl +alias Forge.Project +alias Engine other_project = [ @@ -12,4 +12,4 @@ other_project = |> Path.join() |> Path.expand() -project = Lexical.Project.new("file://#{other_project}") +project = Forge.Project.new("file://#{other_project}") diff --git a/apps/expert/README.md b/apps/expert/README.md new file mode 100644 index 00000000..45e3aa4f --- /dev/null +++ b/apps/expert/README.md @@ -0,0 +1,3 @@ +# Expert + +The Expert Language server implementation diff --git a/apps/server/bin/activate_version_manager.sh b/apps/expert/bin/activate_version_manager.sh similarity index 100% rename from apps/server/bin/activate_version_manager.sh rename to apps/expert/bin/activate_version_manager.sh diff --git a/apps/server/bin/boot.exs b/apps/expert/bin/boot.exs similarity index 78% rename from apps/server/bin/boot.exs rename to apps/expert/bin/boot.exs index 031a6e98..ea5425b7 100644 --- a/apps/server/bin/boot.exs +++ b/apps/expert/bin/boot.exs @@ -20,10 +20,10 @@ end) |> Code.append_path() end) -LXical.Server.Boot.start() +XPert.Boot.start() -if System.get_env("LX_HALT_AFTER_BOOT") do +if System.get_env("XP_HALT_AFTER_BOOT") do require Logger - Logger.warning("Shutting down (LX_HALT_AFTER_BOOT)") + Logger.warning("Shutting down (XP_HALT_AFTER_BOOT)") System.halt() end diff --git a/apps/server/bin/debug_shell.sh b/apps/expert/bin/debug_shell.sh similarity index 90% rename from apps/server/bin/debug_shell.sh rename to apps/expert/bin/debug_shell.sh index 9d33a804..4d4a80c8 100755 --- a/apps/server/bin/debug_shell.sh +++ b/apps/expert/bin/debug_shell.sh @@ -6,4 +6,4 @@ node_name=$(epmd -names | grep manager-"$project_name" | awk '{print $2}') iex --name "shell@127.0.0.1" \ --remsh "${node_name}" \ --dot-iex .iex.namespaced.exs \ - --cookie lexical + --cookie expert diff --git a/apps/server/bin/start_lexical.sh b/apps/expert/bin/start_expert.sh similarity index 94% rename from apps/server/bin/start_lexical.sh rename to apps/expert/bin/start_expert.sh index 4b29a39b..ee813daf 100755 --- a/apps/server/bin/start_lexical.sh +++ b/apps/expert/bin/start_expert.sh @@ -18,6 +18,6 @@ case $1 in esac $elixir_command \ - --cookie "lexical" \ + --cookie "expert" \ --no-halt \ "$script_dir/boot.exs" diff --git a/apps/server/config/config.exs b/apps/expert/config/config.exs similarity index 100% rename from apps/server/config/config.exs rename to apps/expert/config/config.exs diff --git a/apps/server/config/dev.exs b/apps/expert/config/dev.exs similarity index 100% rename from apps/server/config/dev.exs rename to apps/expert/config/dev.exs diff --git a/apps/server/config/prod.exs b/apps/expert/config/prod.exs similarity index 100% rename from apps/server/config/prod.exs rename to apps/expert/config/prod.exs diff --git a/apps/server/config/runtime.exs b/apps/expert/config/runtime.exs similarity index 76% rename from apps/server/config/runtime.exs rename to apps/expert/config/runtime.exs index d1683e3c..f888c3b9 100644 --- a/apps/server/config/runtime.exs +++ b/apps/expert/config/runtime.exs @@ -1,13 +1,13 @@ import Config if Code.ensure_loaded?(LoggerFileBackend) do - log_directory = Path.join(File.cwd!(), ".lexical") + log_directory = Path.join(File.cwd!(), ".expert") unless File.exists?(log_directory) do File.mkdir_p(log_directory) end - log_file_name = Path.join(log_directory, "lexical.log") + log_file_name = Path.join(log_directory, "expert.log") config :logger, handle_sasl_reports: true, diff --git a/apps/server/config/test.exs b/apps/expert/config/test.exs similarity index 100% rename from apps/server/config/test.exs rename to apps/expert/config/test.exs diff --git a/apps/server/lib/lexical/convertibles/lexical.plugin.diagnostic.result.ex b/apps/expert/lib/convertibles/expert.plugin.diagnostic.result.ex similarity index 82% rename from apps/server/lib/lexical/convertibles/lexical.plugin.diagnostic.result.ex rename to apps/expert/lib/convertibles/expert.plugin.diagnostic.result.ex index e6251213..1c750278 100644 --- a/apps/server/lib/lexical/convertibles/lexical.plugin.diagnostic.result.ex +++ b/apps/expert/lib/convertibles/expert.plugin.diagnostic.result.ex @@ -1,12 +1,12 @@ -defimpl Lexical.Convertible, for: Lexical.Plugin.V1.Diagnostic.Result do - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.Math - alias Lexical.Plugin.V1.Diagnostic - alias Lexical.Protocol.Conversions - alias Lexical.Protocol.Types - alias Lexical.Text +defimpl Forge.Convertible, for: Forge.Plugin.V1.Diagnostic.Result do + alias Expert.Protocol.Conversions + alias Expert.Protocol.Types + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.Math + alias Forge.Plugin.V1.Diagnostic + alias Forge.Text def to_lsp(%Diagnostic.Result{} = diagnostic) do with {:ok, lsp_range} <- lsp_range(diagnostic) do @@ -63,7 +63,7 @@ defimpl Lexical.Convertible, for: Lexical.Plugin.V1.Diagnostic.Result do column = max(column, 1) document - |> to_lexical_range(line_number, column) + |> to_expert_range(line_number, column) |> Conversions.to_lsp() end @@ -74,7 +74,7 @@ defimpl Lexical.Convertible, for: Lexical.Plugin.V1.Diagnostic.Result do column = Text.count_leading_spaces(line_text) + 1 document - |> to_lexical_range(line_number, column) + |> to_expert_range(line_number, column) |> Conversions.to_lsp() end end @@ -83,7 +83,7 @@ defimpl Lexical.Convertible, for: Lexical.Plugin.V1.Diagnostic.Result do position_to_range(document, 1) end - defp to_lexical_range(%Document{} = document, line_number, column) do + defp to_expert_range(%Document{} = document, line_number, column) do line_number = Math.clamp(line_number, 1, Document.size(document) + 1) Range.new( diff --git a/apps/server/lib/lexical/server.ex b/apps/expert/lib/expert.ex similarity index 95% rename from apps/server/lib/lexical/server.ex rename to apps/expert/lib/expert.ex index 1d36d60e..67f0703f 100644 --- a/apps/server/lib/lexical/server.ex +++ b/apps/expert/lib/expert.ex @@ -1,10 +1,10 @@ -defmodule Lexical.Server do - alias Lexical.Proto.Convert - alias Lexical.Protocol.Notifications - alias Lexical.Protocol.Requests - alias Lexical.Server.Provider.Handlers - alias Lexical.Server.State - alias Lexical.Server.TaskQueue +defmodule Expert do + alias Expert.Proto.Convert + alias Expert.Protocol.Notifications + alias Expert.Protocol.Requests + alias Expert.Provider.Handlers + alias Expert.State + alias Expert.TaskQueue require Logger diff --git a/apps/server/lib/lexical/server/application.ex b/apps/expert/lib/expert/application.ex similarity index 50% rename from apps/server/lib/lexical/server/application.ex rename to apps/expert/lib/expert/application.ex index 3e7964cc..7b9341c0 100644 --- a/apps/server/lib/lexical/server/application.ex +++ b/apps/expert/lib/expert/application.ex @@ -1,12 +1,12 @@ -defmodule Lexical.Server.Application do +defmodule Expert.Application do # See https://hexdocs.pm/elixir/Application.html # for more information on OTP Applications @moduledoc false - alias Lexical.Document - alias Lexical.Server - alias Lexical.Server.TaskQueue - alias Lexical.Server.Transport + alias Forge.Document + alias Expert + alias Expert.TaskQueue + alias Expert.Transport use Application @@ -14,19 +14,19 @@ defmodule Lexical.Server.Application do def start(_type, _args) do children = [ document_store_child_spec(), - Server, - {DynamicSupervisor, Server.Project.Supervisor.options()}, + Expert, + {DynamicSupervisor, Expert.Project.Supervisor.options()}, {Task.Supervisor, name: TaskQueue.task_supervisor_name()}, TaskQueue, - {Transport.StdIO, [:standard_io, &Server.protocol_message/1]} + {Transport.StdIO, [:standard_io, &Expert.protocol_message/1]} ] - opts = [strategy: :one_for_one, name: Server.Supervisor] + opts = [strategy: :one_for_one, name: Expert.Supervisor] Supervisor.start_link(children, opts) end @doc false def document_store_child_spec do - {Document.Store, derive: [analysis: &Lexical.Ast.analyze/1]} + {Document.Store, derive: [analysis: &Forge.Ast.analyze/1]} end end diff --git a/apps/server/lib/lexical/server/boot.ex b/apps/expert/lib/expert/boot.ex similarity index 89% rename from apps/server/lib/lexical/server/boot.ex rename to apps/expert/lib/expert/boot.ex index a076e275..3962d8d4 100644 --- a/apps/server/lib/lexical/server/boot.ex +++ b/apps/expert/lib/expert/boot.ex @@ -1,11 +1,11 @@ -defmodule Lexical.Server.Boot do +defmodule Expert.Boot do @moduledoc """ This module is called when the server starts by the start script. Packaging will ensure that config.exs and runtime.exs will be visible to the `:code` module """ alias Future.Code - alias Lexical.VM.Versions + alias Forge.VM.Versions require Logger # halt/1 will generate a "no local return" error, which is exactly right, but that's it's _job_ @@ -34,7 +34,7 @@ defmodule Lexical.Server.Boot do |> halt() end - Application.ensure_all_started(:server) + Application.ensure_all_started(:expert) end @doc false @@ -111,18 +111,18 @@ defmodule Lexical.Server.Boot do errors = [ unless elixir_ok? do """ - FATAL: Lexical is not compatible with Elixir #{versions.elixir} + FATAL: Expert is not compatible with Elixir #{versions.elixir} - Lexical is compatible with the following versions of Elixir: + Expert is compatible with the following versions of Elixir: #{format_allowed_versions(@allowed_elixir)} """ end, unless erlang_ok? do """ - FATAL: Lexical is not compatible with Erlang/OTP #{versions.erlang} + FATAL: Expert is not compatible with Erlang/OTP #{versions.erlang} - Lexical is compatible with the following versions of Erlang/OTP: + Expert is compatible with the following versions of Erlang/OTP: #{format_allowed_versions(@allowed_erlang)} """ diff --git a/apps/server/lib/lexical/server/code_intelligence/completion.ex b/apps/expert/lib/expert/code_intelligence/completion.ex similarity index 89% rename from apps/server/lib/lexical/server/code_intelligence/completion.ex rename to apps/expert/lib/expert/code_intelligence/completion.ex index 371eb61e..3080119f 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion.ex +++ b/apps/expert/lib/expert/code_intelligence/completion.ex @@ -1,25 +1,25 @@ -defmodule Lexical.Server.CodeIntelligence.Completion do +defmodule Expert.CodeIntelligence.Completion do alias Future.Code, as: Code - alias Lexical.Ast.Analysis - alias Lexical.Ast.Env - alias Lexical.Document.Position - alias Lexical.Project - alias Lexical.Protocol.Types.Completion - alias Lexical.Protocol.Types.InsertTextFormat - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Completion.Candidate - alias Lexical.Server.CodeIntelligence.Completion.Builder - alias Lexical.Server.CodeIntelligence.Completion.Translatable - alias Lexical.Server.Configuration - alias Lexical.Server.Project.Intelligence + alias Forge.Ast.Analysis + alias Forge.Ast.Env + alias Forge.Document.Position + alias Forge.Project + alias Expert.Protocol.Types.Completion + alias Expert.Protocol.Types.InsertTextFormat + alias Engine + alias Engine.Completion.Candidate + alias Expert.CodeIntelligence.Completion.Builder + alias Expert.CodeIntelligence.Completion.Translatable + alias Expert.Configuration + alias Expert.Project.Intelligence alias Mix.Tasks.Namespace require InsertTextFormat require Logger - @lexical_deps Enum.map([:lexical | Mix.Project.deps_apps()], &Atom.to_string/1) + @expert_deps Enum.map([:expert | Mix.Project.deps_apps()], &Atom.to_string/1) - @lexical_dep_modules Enum.map(@lexical_deps, &Macro.camelize/1) + @expert_dep_modules Enum.map(@expert_deps, &Macro.camelize/1) def trigger_characters do [".", "@", "&", "%", "^", ":", "!", "-", "~"] @@ -78,12 +78,12 @@ defmodule Lexical.Server.CodeIntelligence.Completion do Env.in_context?(env, :struct_field_key) -> project - |> RemoteControl.Api.complete_struct_fields(env.analysis, env.position) + |> Engine.Api.complete_struct_fields(env.analysis, env.position) |> Enum.map(&Translatable.translate(&1, Builder, env)) true -> project - |> RemoteControl.Api.complete(env) + |> Engine.Api.complete(env) |> to_completion_items(project, env, context) end end @@ -219,11 +219,11 @@ defmodule Lexical.Server.CodeIntelligence.Completion do false # If we're working on the dependency, we should include it! - Project.name(project) in @lexical_deps -> + Project.name(project) in @expert_deps -> true true -> - Enum.reduce_while(@lexical_dep_modules, true, fn module, _ -> + Enum.reduce_while(@expert_dep_modules, true, fn module, _ -> if String.starts_with?(suggested_module, module) do {:halt, false} else @@ -271,7 +271,7 @@ defmodule Lexical.Server.CodeIntelligence.Completion do case completion do %{full_name: full_name} -> with_prefix = - RemoteControl.Api.modules_with_prefix( + Engine.Api.modules_with_prefix( env.project, full_name, {Kernel, :macro_exported?, [:__using__, 1]} @@ -291,7 +291,7 @@ defmodule Lexical.Server.CodeIntelligence.Completion do case completion do %{full_name: full_name} -> with_prefix = - RemoteControl.Api.modules_with_prefix( + Engine.Api.modules_with_prefix( env.project, full_name, {Kernel, :function_exported?, [:behaviour_info, 1]} @@ -326,7 +326,7 @@ defmodule Lexical.Server.CodeIntelligence.Completion do end defp typespec_or_type_candidate?(%Candidate.Function{} = function, %Env{} = env) do - case RemoteControl.Api.expand_alias(env.project, [:__MODULE__], env.analysis, env.position) do + case Engine.Api.expand_alias(env.project, [:__MODULE__], env.analysis, env.position) do {:ok, expanded} -> expanded == function.origin diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/builder.ex b/apps/expert/lib/expert/code_intelligence/completion/builder.ex similarity index 91% rename from apps/server/lib/lexical/server/code_intelligence/completion/builder.ex rename to apps/expert/lib/expert/code_intelligence/completion/builder.ex index e3e042c3..bf0177b8 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/builder.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/builder.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Builder do +defmodule Expert.CodeIntelligence.Completion.Builder do @moduledoc """ Completion builder. @@ -11,16 +11,16 @@ defmodule Lexical.Server.CodeIntelligence.Completion.Builder do """ alias Future.Code, as: Code - alias Lexical.Ast.Env - alias Lexical.Document - alias Lexical.Document.Edit - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.Protocol.Types.Completion - alias Lexical.Protocol.Types.Markup.Content - alias Lexical.Server.CodeIntelligence.Completion.SortScope - - @doc "Fields found in `t:Lexical.Protocol.Types.Completion.Item.t()`" + alias Forge.Ast.Env + alias Forge.Document + alias Forge.Document.Edit + alias Forge.Document.Position + alias Forge.Document.Range + alias Expert.Protocol.Types.Completion + alias Expert.Protocol.Types.Markup.Content + alias Expert.CodeIntelligence.Completion.SortScope + + @doc "Fields found in `t:Expert.Protocol.Types.Completion.Item.t()`" @type item_opts :: keyword() @type t :: module() diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/sort_scope.ex b/apps/expert/lib/expert/code_intelligence/completion/sort_scope.ex similarity index 91% rename from apps/server/lib/lexical/server/code_intelligence/completion/sort_scope.ex rename to apps/expert/lib/expert/code_intelligence/completion/sort_scope.ex index 44f11da5..38dd439b 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/sort_scope.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/sort_scope.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.SortScope do +defmodule Expert.CodeIntelligence.Completion.SortScope do @moduledoc """ Enumerated categories for sorting completion items. @@ -12,7 +12,7 @@ defmodule Lexical.Server.CodeIntelligence.Completion.SortScope do """ @doc """ - Intended for module completions, such as `Lexical.` -> `Lexical.Completion`. + Intended for module completions, such as `Expert.` -> `Expert.Completion`. """ def module(local_priority \\ 1) do "0" <> "0" <> local_priority(local_priority) @@ -51,7 +51,7 @@ defmodule Lexical.Server.CodeIntelligence.Completion.SortScope do @doc """ Aspirationally for declarations that could be auto-aliased into the user's - immediate module (not yet a feature of Lexical). + immediate module (not yet a feature of Expert). """ def auto(deprecated? \\ false, local_priority \\ 1) do "5" <> extra_order_fields(deprecated?, local_priority) diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translatable.ex b/apps/expert/lib/expert/code_intelligence/completion/translatable.ex similarity index 51% rename from apps/server/lib/lexical/server/code_intelligence/completion/translatable.ex rename to apps/expert/lib/expert/code_intelligence/completion/translatable.ex index 3a53e856..1f647b39 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translatable.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translatable.ex @@ -1,7 +1,7 @@ -defprotocol Lexical.Server.CodeIntelligence.Completion.Translatable do - alias Lexical.Ast.Env - alias Lexical.Protocol.Types.Completion - alias Lexical.Server.CodeIntelligence.Completion.Builder +defprotocol Expert.CodeIntelligence.Completion.Translatable do + alias Forge.Ast.Env + alias Expert.Protocol.Types.Completion + alias Expert.CodeIntelligence.Completion.Builder @type t :: any() @@ -12,7 +12,7 @@ defprotocol Lexical.Server.CodeIntelligence.Completion.Translatable do def translate(item, builder, env) end -defimpl Lexical.Server.CodeIntelligence.Completion.Translatable, for: Any do +defimpl Expert.CodeIntelligence.Completion.Translatable, for: Any do def translate(_any, _builder, _environment) do :skip end diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translations/bitstring_option.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/bitstring_option.ex similarity index 57% rename from apps/server/lib/lexical/server/code_intelligence/completion/translations/bitstring_option.ex rename to apps/expert/lib/expert/code_intelligence/completion/translations/bitstring_option.ex index f23c5e12..8d6275b8 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translations/bitstring_option.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/bitstring_option.ex @@ -1,9 +1,9 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.BitstringOption do - alias Lexical.Ast.Env - alias Lexical.RemoteControl.Completion.Candidate - alias Lexical.Server.CodeIntelligence.Completion.SortScope - alias Lexical.Server.CodeIntelligence.Completion.Translatable - alias Lexical.Server.CodeIntelligence.Completion.Translations +defmodule Expert.CodeIntelligence.Completion.Translations.BitstringOption do + alias Forge.Ast.Env + alias Engine.Completion.Candidate + alias Expert.CodeIntelligence.Completion.SortScope + alias Expert.CodeIntelligence.Completion.Translatable + alias Expert.CodeIntelligence.Completion.Translations require Logger diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translations/callable.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/callable.ex similarity index 95% rename from apps/server/lib/lexical/server/code_intelligence/completion/translations/callable.ex rename to apps/expert/lib/expert/code_intelligence/completion/translations/callable.ex index 5d4699af..33d27a17 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translations/callable.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/callable.ex @@ -1,8 +1,8 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.Callable do - alias Lexical.Ast.Env - alias Lexical.RemoteControl.Completion.Candidate - alias Lexical.Server.CodeIntelligence.Completion.Builder - alias Lexical.Server.CodeIntelligence.Completion.SortScope +defmodule Expert.CodeIntelligence.Completion.Translations.Callable do + alias Forge.Ast.Env + alias Engine.Completion.Candidate + alias Expert.CodeIntelligence.Completion.Builder + alias Expert.CodeIntelligence.Completion.SortScope @callables [Candidate.Function, Candidate.Macro, Candidate.Callback, Candidate.Typespec] diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translations/callback.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/callback.ex similarity index 87% rename from apps/server/lib/lexical/server/code_intelligence/completion/translations/callback.ex rename to apps/expert/lib/expert/code_intelligence/completion/translations/callback.ex index e7a62d63..3bf1304d 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translations/callback.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/callback.ex @@ -1,10 +1,10 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.Callback do - alias Lexical.Ast.Env - alias Lexical.Document - alias Lexical.RemoteControl.Completion.Candidate.Callback - alias Lexical.Server.CodeIntelligence.Completion.Builder - alias Lexical.Server.CodeIntelligence.Completion.SortScope - alias Lexical.Server.CodeIntelligence.Completion.Translatable +defmodule Expert.CodeIntelligence.Completion.Translations.Callback do + alias Forge.Ast.Env + alias Forge.Document + alias Engine.Completion.Candidate.Callback + alias Expert.CodeIntelligence.Completion.Builder + alias Expert.CodeIntelligence.Completion.SortScope + alias Expert.CodeIntelligence.Completion.Translatable defimpl Translatable, for: Callback do def translate(callback, _builder, %Env{} = env) do diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translations/function.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/function.ex similarity index 53% rename from apps/server/lib/lexical/server/code_intelligence/completion/translations/function.ex rename to apps/expert/lib/expert/code_intelligence/completion/translations/function.ex index 851894ea..f420361f 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translations/function.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/function.ex @@ -1,8 +1,8 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.Function do - alias Lexical.Ast.Env - alias Lexical.RemoteControl.Completion.Candidate - alias Lexical.Server.CodeIntelligence.Completion.Translatable - alias Lexical.Server.CodeIntelligence.Completion.Translations +defmodule Expert.CodeIntelligence.Completion.Translations.Function do + alias Forge.Ast.Env + alias Engine.Completion.Candidate + alias Expert.CodeIntelligence.Completion.Translatable + alias Expert.CodeIntelligence.Completion.Translations defimpl Translatable, for: Candidate.Function do def translate(function, _builder, %Env{} = env) do diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translations/macro.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/macro.ex similarity index 96% rename from apps/server/lib/lexical/server/code_intelligence/completion/translations/macro.ex rename to apps/expert/lib/expert/code_intelligence/completion/translations/macro.ex index bc24ce97..358cc82a 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translations/macro.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/macro.ex @@ -1,14 +1,14 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.Macro do - alias Lexical.Ast - alias Lexical.Ast.Env - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.RemoteControl.Completion.Candidate - alias Lexical.Server.CodeIntelligence.Completion.SortScope - alias Lexical.Server.CodeIntelligence.Completion.Translatable - alias Lexical.Server.CodeIntelligence.Completion.Translations - alias Lexical.Server.CodeIntelligence.Completion.Translations.Callable - alias Lexical.Server.CodeIntelligence.Completion.Translations.Struct +defmodule Expert.CodeIntelligence.Completion.Translations.Macro do + alias Forge.Ast + alias Forge.Ast.Env + alias Forge.Document + alias Forge.Document.Position + alias Engine.Completion.Candidate + alias Expert.CodeIntelligence.Completion.SortScope + alias Expert.CodeIntelligence.Completion.Translatable + alias Expert.CodeIntelligence.Completion.Translations + alias Expert.CodeIntelligence.Completion.Translations.Callable + alias Expert.CodeIntelligence.Completion.Translations.Struct @snippet_macros ~w(def defp defmacro defmacrop defimpl defmodule defprotocol defguard defguardp defexception test use) @unhelpful_macros ~w(:: alias! in and or destructure) diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translations/map_field.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/map_field.ex similarity index 75% rename from apps/server/lib/lexical/server/code_intelligence/completion/translations/map_field.ex rename to apps/expert/lib/expert/code_intelligence/completion/translations/map_field.ex index 9b6a3529..917b9fe6 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translations/map_field.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/map_field.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.MapField do - alias Lexical.Ast.Env - alias Lexical.RemoteControl.Completion.Candidate - alias Lexical.Server.CodeIntelligence.Completion.Translatable +defmodule Expert.CodeIntelligence.Completion.Translations.MapField do + alias Forge.Ast.Env + alias Engine.Completion.Candidate + alias Expert.CodeIntelligence.Completion.Translatable defimpl Translatable, for: Candidate.MapField do def translate(%Candidate.MapField{} = map_field, builder, %Env{} = env) do diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translations/module_attribute.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/module_attribute.ex similarity index 90% rename from apps/server/lib/lexical/server/code_intelligence/completion/translations/module_attribute.ex rename to apps/expert/lib/expert/code_intelligence/completion/translations/module_attribute.ex index 5d66783d..b1e09bfe 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translations/module_attribute.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/module_attribute.ex @@ -1,11 +1,11 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.ModuleAttribute do - alias Lexical.Ast - alias Lexical.Ast.Env - alias Lexical.Document.Position - alias Lexical.RemoteControl.Completion.Candidate - alias Lexical.Server.CodeIntelligence.Completion.SortScope - alias Lexical.Server.CodeIntelligence.Completion.Translatable - alias Lexical.Server.CodeIntelligence.Completion.Translations +defmodule Expert.CodeIntelligence.Completion.Translations.ModuleAttribute do + alias Forge.Ast + alias Forge.Ast.Env + alias Forge.Document.Position + alias Engine.Completion.Candidate + alias Expert.CodeIntelligence.Completion.SortScope + alias Expert.CodeIntelligence.Completion.Translatable + alias Expert.CodeIntelligence.Completion.Translations defimpl Translatable, for: Candidate.ModuleAttribute do def translate(attribute, builder, %Env{} = env) do diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translations/module_or_behaviour.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/module_or_behaviour.ex similarity index 90% rename from apps/server/lib/lexical/server/code_intelligence/completion/translations/module_or_behaviour.ex rename to apps/expert/lib/expert/code_intelligence/completion/translations/module_or_behaviour.ex index 57ee0140..b0d72ce0 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translations/module_or_behaviour.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/module_or_behaviour.ex @@ -1,10 +1,10 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.ModuleOrBehaviour do - alias Lexical.Ast.Env - alias Lexical.RemoteControl.Completion.Candidate - alias Lexical.Server.CodeIntelligence.Completion.SortScope - alias Lexical.Server.CodeIntelligence.Completion.Translatable - alias Lexical.Server.CodeIntelligence.Completion.Translations - alias Lexical.Server.Project.Intelligence +defmodule Expert.CodeIntelligence.Completion.Translations.ModuleOrBehaviour do + alias Forge.Ast.Env + alias Engine.Completion.Candidate + alias Expert.CodeIntelligence.Completion.SortScope + alias Expert.CodeIntelligence.Completion.Translatable + alias Expert.CodeIntelligence.Completion.Translations + alias Expert.Project.Intelligence defimpl Translatable, for: Candidate.Module do def translate(module, builder, %Env{} = env) do @@ -139,7 +139,7 @@ defmodule Lexical.Server.CodeIntelligence.Completion.Translations.ModuleOrBehavi defp strip_leading_period(<<".", rest::binary>>), do: rest defp strip_leading_period(string_without_period), do: string_without_period - defp immediate_descendent_struct_modules(%Lexical.Project{} = project, module_name) do + defp immediate_descendent_struct_modules(%Forge.Project{} = project, module_name) do Intelligence.collect_struct_modules(project, module_name, to: :grandchild) end end diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translations/struct.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/struct.ex similarity index 94% rename from apps/server/lib/lexical/server/code_intelligence/completion/translations/struct.ex rename to apps/expert/lib/expert/code_intelligence/completion/translations/struct.ex index f166455a..d9e31685 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translations/struct.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/struct.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.Struct do +defmodule Expert.CodeIntelligence.Completion.Translations.Struct do alias Future.Code, as: Code - alias Lexical.Ast.Env - alias Lexical.Formats + alias Forge.Ast.Env + alias Forge.Formats def completion(%Env{} = _env, _builder, _module_name, _full_name, 0) do nil diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translations/struct_field.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/struct_field.ex similarity index 79% rename from apps/server/lib/lexical/server/code_intelligence/completion/translations/struct_field.ex rename to apps/expert/lib/expert/code_intelligence/completion/translations/struct_field.ex index 82f04504..490b9beb 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translations/struct_field.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/struct_field.ex @@ -1,10 +1,10 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.StructField do +defmodule Expert.CodeIntelligence.Completion.Translations.StructField do alias Future.Code, as: Code - alias Lexical.Ast.Env - alias Lexical.RemoteControl.Completion.Candidate - alias Lexical.Server.CodeIntelligence.Completion.SortScope - alias Lexical.Server.CodeIntelligence.Completion.Translatable - alias Lexical.Server.CodeIntelligence.Completion.Translations + alias Forge.Ast.Env + alias Engine.Completion.Candidate + alias Expert.CodeIntelligence.Completion.SortScope + alias Expert.CodeIntelligence.Completion.Translatable + alias Expert.CodeIntelligence.Completion.Translations defimpl Translatable, for: Candidate.StructField do def translate(field, builder, %Env{} = env) do diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/typespec.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/typespec.ex new file mode 100644 index 00000000..8021bd48 --- /dev/null +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/typespec.ex @@ -0,0 +1,12 @@ +defmodule Expert.CodeIntelligence.Completion.Translations.Typespec do + alias Forge.Ast.Env + alias Engine.Completion.Candidate + alias Expert.CodeIntelligence.Completion.Translatable + alias Expert.CodeIntelligence.Completion.Translations.Callable + + defimpl Translatable, for: Candidate.Typespec do + def translate(typespec, _builder, %Env{} = env) do + Callable.completion(typespec, env) + end + end +end diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translations/variable.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/variable.ex similarity index 53% rename from apps/server/lib/lexical/server/code_intelligence/completion/translations/variable.ex rename to apps/expert/lib/expert/code_intelligence/completion/translations/variable.ex index 811bb14f..0708ce8c 100644 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translations/variable.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/variable.ex @@ -1,8 +1,8 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.Variable do - alias Lexical.Ast.Env - alias Lexical.RemoteControl.Completion.Candidate - alias Lexical.Server.CodeIntelligence.Completion.SortScope - alias Lexical.Server.CodeIntelligence.Completion.Translatable +defmodule Expert.CodeIntelligence.Completion.Translations.Variable do + alias Forge.Ast.Env + alias Engine.Completion.Candidate + alias Expert.CodeIntelligence.Completion.SortScope + alias Expert.CodeIntelligence.Completion.Translatable defimpl Translatable, for: Candidate.Variable do def translate(variable, builder, %Env{} = env) do diff --git a/apps/server/lib/lexical/server/configuration.ex b/apps/expert/lib/expert/configuration.ex similarity index 86% rename from apps/server/lib/lexical/server/configuration.ex rename to apps/expert/lib/expert/configuration.ex index cb0dc1d6..5f97c612 100644 --- a/apps/server/lib/lexical/server/configuration.ex +++ b/apps/expert/lib/expert/configuration.ex @@ -1,17 +1,17 @@ -defmodule Lexical.Server.Configuration do +defmodule Expert.Configuration do @moduledoc """ - Encapsulates server configuration options and client capability support. + Encapsulates expert configuration options and client capability support. """ - alias Lexical.Project - alias Lexical.Protocol.Id - alias Lexical.Protocol.Notifications.DidChangeConfiguration - alias Lexical.Protocol.Requests - alias Lexical.Protocol.Requests.RegisterCapability - alias Lexical.Protocol.Types.ClientCapabilities - alias Lexical.Protocol.Types.Registration - alias Lexical.Server.Configuration.Support - alias Lexical.Server.Dialyzer + alias Forge.Project + alias Expert.Protocol.Id + alias Expert.Protocol.Notifications.DidChangeConfiguration + alias Expert.Protocol.Requests + alias Expert.Protocol.Requests.RegisterCapability + alias Expert.Protocol.Types.ClientCapabilities + alias Expert.Protocol.Types.Registration + alias Expert.Configuration.Support + alias Expert.Dialyzer defstruct project: nil, support: nil, @@ -31,7 +31,7 @@ defmodule Lexical.Server.Configuration do @dialyzer {:nowarn_function, set_dialyzer_enabled: 2} - @spec new(Lexical.uri(), map(), String.t() | nil) :: t + @spec new(Forge.uri(), map(), String.t() | nil) :: t def new(root_uri, %ClientCapabilities{} = client_capabilities, client_name) do support = Support.new(client_capabilities) project = Project.new(root_uri) diff --git a/apps/server/lib/lexical/server/configuration/support.ex b/apps/expert/lib/expert/configuration/support.ex similarity index 89% rename from apps/server/lib/lexical/server/configuration/support.ex rename to apps/expert/lib/expert/configuration/support.ex index fc9fe775..53735c3f 100644 --- a/apps/server/lib/lexical/server/configuration/support.ex +++ b/apps/expert/lib/expert/configuration/support.ex @@ -1,10 +1,10 @@ -defmodule Lexical.Server.Configuration.Support do +defmodule Expert.Configuration.Support do @moduledoc false - alias Lexical.Protocol.Types.ClientCapabilities + alias Expert.Protocol.Types.ClientCapabilities # To track a new client capability, add a new field and the path to the - # capability in the `Lexical.Protocol.Types.ClientCapabilities` struct + # capability in the `Expert.Protocol.Types.ClientCapabilities` struct # to this mapping: @client_capability_mapping [ code_action_dynamic_registration: [ diff --git a/apps/server/lib/lexical/server/dialyzer.ex b/apps/expert/lib/expert/dialyzer.ex similarity index 52% rename from apps/server/lib/lexical/server/dialyzer.ex rename to apps/expert/lib/expert/dialyzer.ex index 8723f9b8..fa7d575b 100644 --- a/apps/server/lib/lexical/server/dialyzer.ex +++ b/apps/expert/lib/expert/dialyzer.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Server.Dialyzer do +defmodule Expert.Dialyzer do def check_support do :ok end diff --git a/apps/server/lib/lexical/server/iex/helpers.ex b/apps/expert/lib/expert/iex/helpers.ex similarity index 78% rename from apps/server/lib/lexical/server/iex/helpers.ex rename to apps/expert/lib/expert/iex/helpers.ex index f1821be9..92af6cc1 100644 --- a/apps/server/lib/lexical/server/iex/helpers.ex +++ b/apps/expert/lib/expert/iex/helpers.ex @@ -1,23 +1,23 @@ -defmodule Lexical.Server.IEx.Helpers do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Project - alias Lexical.Protocol.Types.Completion - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Search - alias Lexical.Server.CodeIntelligence +defmodule Expert.IEx.Helpers do + alias Forge.Ast + alias Forge.Document + alias Forge.Document.Position + alias Forge.Project + alias Expert.Protocol.Types.Completion + alias Engine + alias Engine.Search + alias Expert.CodeIntelligence defmacro __using__(_) do quote do - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Search + alias Forge.Document + alias Forge.Document.Position + alias Engine + alias Engine.Search import unquote(__MODULE__) - RemoteControl.Module.Loader.start_link(nil) - RemoteControl.Dispatch.start_link([]) + Engine.Module.Loader.start_link(nil) + Engine.Dispatch.start_link([]) end end @@ -29,11 +29,11 @@ defmodule Lexical.Server.IEx.Helpers do def observer(project) do project |> ensure_project() - |> RemoteControl.call(:observer, :start) + |> Engine.call(:observer, :start) end def doc(text) do - doc(:lexical, text) + doc(:expert, text) end def project_node(name) do @@ -56,7 +56,7 @@ defmodule Lexical.Server.IEx.Helpers do def search_store(project) do project = ensure_project(project) - RemoteControl.set_project(project) + Engine.set_project(project) Search.Store.start_link( project, @@ -82,7 +82,7 @@ defmodule Lexical.Server.IEx.Helpers do def compile_project(project) do project |> ensure_project() - |> RemoteControl.Api.schedule_compile(true) + |> Engine.Api.schedule_compile(true) end def compile_file(project, source) when is_binary(source) do @@ -94,7 +94,7 @@ defmodule Lexical.Server.IEx.Helpers do def compile_file(project, %Document{} = document) do project |> ensure_project() - |> RemoteControl.Api.compile_document(document) + |> Engine.Api.compile_document(document) end def complete(project, source, context \\ nil) @@ -128,13 +128,13 @@ defmodule Lexical.Server.IEx.Helpers do def connect do manager_name = manager_name() Node.start(:"r@127.0.0.1") - Node.set_cookie(:lexical) + Node.set_cookie(:expert) Node.connect(:"#{manager_name}@127.0.0.1") end @doc """ - Create a Lexical Project for an application in the same directory as - Lexical. + Create an Expert Project for an application in the same directory as + Expert. Alternatively, a project for one of our test fixtures can be created using the `fixture: true` option. @@ -142,28 +142,28 @@ defmodule Lexical.Server.IEx.Helpers do ## Examples iex> project() - %Lexical.Project{ - root_uri: "file:///.../lexical + %Forge.Project{ + root_uri: "file:///.../expert ... } iex> project(:my_project) - %Lexical.Project{ + %Forge.Project{ root_uri: "file:///.../my_project" ... } iex> project(:navigations, fixture: true) - %Lexical.Project{ - root_uri: "file:///.../lexical/apps/remote_control/test/fixtures/navigations" + %Forge.Project{ + root_uri: "file:///.../expert/apps/engine/test/fixtures/navigations" ... } """ - def project(project \\ :lexical, opts \\ []) do + def project(project \\ :expert, opts \\ []) do project = if opts[:fixture] do - "lexical/apps/remote_control/test/fixtures/#{project}" + "expert/apps/engine/test/fixtures/#{project}" else project end @@ -177,7 +177,7 @@ defmodule Lexical.Server.IEx.Helpers do |> Path.expand() project_uri = "file://#{project_path}" - Lexical.Project.new(project_uri) + Forge.Project.new(project_uri) end) end @@ -190,13 +190,13 @@ defmodule Lexical.Server.IEx.Helpers do def stop_project(project) do project |> ensure_project() - |> Lexical.Server.Project.Supervisor.stop() + |> Expert.Project.Supervisor.stop() end def start_project(project) do project |> ensure_project() - |> Lexical.Server.Project.Supervisor.start() + |> Expert.Project.Supervisor.start() end def time(fun) when is_function(fun, 0) do @@ -204,7 +204,7 @@ defmodule Lexical.Server.IEx.Helpers do IO.puts([ IO.ANSI.format([:cyan, :bright, "Time: "]), - Lexical.Formats.time(elapsed_us) + Forge.Formats.time(elapsed_us) ]) result diff --git a/apps/server/lib/lexical/server/project/diagnostics.ex b/apps/expert/lib/expert/project/diagnostics.ex similarity index 86% rename from apps/server/lib/lexical/server/project/diagnostics.ex rename to apps/expert/lib/expert/project/diagnostics.ex index 1c97d981..be0d3ede 100644 --- a/apps/server/lib/lexical/server/project/diagnostics.ex +++ b/apps/expert/lib/expert/project/diagnostics.ex @@ -1,11 +1,11 @@ -defmodule Lexical.Server.Project.Diagnostics do - alias Lexical.Formats - alias Lexical.Project - alias Lexical.Protocol.Notifications.PublishDiagnostics - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api.Messages - alias Lexical.Server.Project.Diagnostics.State - alias Lexical.Server.Transport +defmodule Expert.Project.Diagnostics do + alias Forge.Formats + alias Forge.Project + alias Expert.Protocol.Notifications.PublishDiagnostics + alias Engine + alias Engine.Api.Messages + alias Expert.Project.Diagnostics.State + alias Expert.Transport import Messages require Logger @@ -26,7 +26,7 @@ defmodule Lexical.Server.Project.Diagnostics do @impl GenServer def init([%Project{} = project]) do - RemoteControl.Api.register_listener(project, self(), [ + Engine.Api.register_listener(project, self(), [ file_diagnostics(), project_compile_requested(), project_compiled(), diff --git a/apps/server/lib/lexical/server/project/diagnostics/state.ex b/apps/expert/lib/expert/project/diagnostics/state.ex similarity index 95% rename from apps/server/lib/lexical/server/project/diagnostics/state.ex rename to apps/expert/lib/expert/project/diagnostics/state.ex index 4d24450e..5eaa41a2 100644 --- a/apps/server/lib/lexical/server/project/diagnostics/state.ex +++ b/apps/expert/lib/expert/project/diagnostics/state.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Server.Project.Diagnostics.State do +defmodule Expert.Project.Diagnostics.State do defmodule Entry do defstruct build_number: 0, diagnostics: [] @@ -28,9 +28,9 @@ defmodule Lexical.Server.Project.Diagnostics.State do end end - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic - alias Lexical.Project + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic + alias Forge.Project defstruct project: nil, entries_by_uri: %{} diff --git a/apps/server/lib/lexical/server/project/intelligence.ex b/apps/expert/lib/expert/project/intelligence.ex similarity index 97% rename from apps/server/lib/lexical/server/project/intelligence.ex rename to apps/expert/lib/expert/project/intelligence.ex index 968f1ce5..c102b548 100644 --- a/apps/server/lib/lexical/server/project/intelligence.ex +++ b/apps/expert/lib/expert/project/intelligence.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Server.Project.Intelligence do +defmodule Expert.Project.Intelligence do defmodule State do - alias Lexical.Formats - alias Lexical.Project + alias Forge.Formats + alias Forge.Project defstruct project: nil, struct_modules: MapSet.new() @@ -58,8 +58,8 @@ defmodule Lexical.Server.Project.Intelligence do end end - alias Lexical.Project - alias Lexical.RemoteControl.Api + alias Forge.Project + alias Engine.Api use GenServer import Api.Messages diff --git a/apps/server/lib/lexical/server/project/node.ex b/apps/expert/lib/expert/project/node.ex similarity index 85% rename from apps/server/lib/lexical/server/project/node.ex rename to apps/expert/lib/expert/project/node.ex index 82c6a3fa..50825a85 100644 --- a/apps/server/lib/lexical/server/project/node.ex +++ b/apps/expert/lib/expert/project/node.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Server.Project.Node do +defmodule Expert.Project.Node do @moduledoc """ A genserver responsibile for starting the remote node and cleaning up the build directory if it crashes """ @@ -11,9 +11,9 @@ defmodule Lexical.Server.Project.Node do end end - alias Lexical.Project - alias Lexical.RemoteControl - alias Lexical.Server.Project.Progress + alias Forge.Project + alias Engine + alias Expert.Project.Progress require Logger @@ -60,7 +60,7 @@ defmodule Lexical.Server.Project.Node do @impl GenServer def handle_continue(:trigger_build, %State{} = state) do - RemoteControl.Api.schedule_compile(state.project, true) + Engine.Api.schedule_compile(state.project, true) {:noreply, state} end @@ -71,7 +71,7 @@ defmodule Lexical.Server.Project.Node do @impl GenServer def handle_cast(:trigger_build, %State{} = state) do - RemoteControl.Api.schedule_compile(state.project, true) + Engine.Api.schedule_compile(state.project, true) {:noreply, state} end @@ -91,14 +91,14 @@ defmodule Lexical.Server.Project.Node do # private api def start_node(%Project{} = project) do - with {:ok, node, node_pid} <- RemoteControl.start_link(project) do + with {:ok, node, node_pid} <- Engine.start_link(project) do Node.monitor(node, true) {:ok, State.new(project, node, node_pid)} end end defp delete_build_artifacts(%Project{} = project) do - build_path = RemoteControl.Build.path(project) + build_path = Engine.Build.path(project) case File.rm_rf(build_path) do {:ok, _deleted} -> :ok diff --git a/apps/server/lib/lexical/server/project/progress.ex b/apps/expert/lib/expert/project/progress.ex similarity index 85% rename from apps/server/lib/lexical/server/project/progress.ex rename to apps/expert/lib/expert/project/progress.ex index ca05916d..b15fd040 100644 --- a/apps/server/lib/lexical/server/project/progress.ex +++ b/apps/expert/lib/expert/project/progress.ex @@ -1,8 +1,8 @@ -defmodule Lexical.Server.Project.Progress do - alias Lexical.Project - alias Lexical.Server.Project.Progress.State +defmodule Expert.Project.Progress do + alias Forge.Project + alias Expert.Project.Progress.State - import Lexical.RemoteControl.Api.Messages + import Engine.Api.Messages use GenServer diff --git a/apps/server/lib/lexical/server/project/progress/percentage.ex b/apps/expert/lib/expert/project/progress/percentage.ex similarity index 91% rename from apps/server/lib/lexical/server/project/progress/percentage.ex rename to apps/expert/lib/expert/project/progress/percentage.ex index aa6b5ede..a1d948f6 100644 --- a/apps/server/lib/lexical/server/project/progress/percentage.ex +++ b/apps/expert/lib/expert/project/progress/percentage.ex @@ -1,10 +1,10 @@ -defmodule Lexical.Server.Project.Progress.Percentage do +defmodule Expert.Project.Progress.Percentage do @moduledoc """ The backing data structure for percentage based progress reports """ - alias Lexical.Math - alias Lexical.Protocol.Notifications - alias Lexical.Protocol.Types.WorkDone + alias Forge.Math + alias Expert.Protocol.Notifications + alias Expert.Protocol.Types.WorkDone @enforce_keys [:token, :kind, :max] defstruct [:token, :kind, :title, :message, :max, current: 0] diff --git a/apps/server/lib/lexical/server/project/progress/state.ex b/apps/expert/lib/expert/project/progress/state.ex similarity index 89% rename from apps/server/lib/lexical/server/project/progress/state.ex rename to apps/expert/lib/expert/project/progress/state.ex index 2e541578..97713483 100644 --- a/apps/server/lib/lexical/server/project/progress/state.ex +++ b/apps/expert/lib/expert/project/progress/state.ex @@ -1,13 +1,13 @@ -defmodule Lexical.Server.Project.Progress.State do - alias Lexical.Project - alias Lexical.Protocol.Id - alias Lexical.Protocol.Requests - alias Lexical.Server.Configuration - alias Lexical.Server.Project.Progress.Percentage - alias Lexical.Server.Project.Progress.Value - alias Lexical.Server.Transport - - import Lexical.RemoteControl.Api.Messages +defmodule Expert.Project.Progress.State do + alias Forge.Project + alias Expert.Protocol.Id + alias Expert.Protocol.Requests + alias Expert.Configuration + alias Expert.Project.Progress.Percentage + alias Expert.Project.Progress.Value + alias Expert.Transport + + import Engine.Api.Messages defstruct project: nil, progress_by_label: %{} diff --git a/apps/server/lib/lexical/server/project/progress/support.ex b/apps/expert/lib/expert/project/progress/support.ex similarity index 85% rename from apps/server/lib/lexical/server/project/progress/support.ex rename to apps/expert/lib/expert/project/progress/support.ex index cf339b0b..d09a566d 100644 --- a/apps/server/lib/lexical/server/project/progress/support.ex +++ b/apps/expert/lib/expert/project/progress/support.ex @@ -1,8 +1,8 @@ -defmodule Lexical.Server.Project.Progress.Support do - alias Lexical.Project - alias Lexical.Server.Project.Progress +defmodule Expert.Project.Progress.Support do + alias Forge.Project + alias Expert.Project.Progress - import Lexical.RemoteControl.Api.Messages + import Engine.Api.Messages defmacro __using__(_) do quote do diff --git a/apps/server/lib/lexical/server/project/progress/value.ex b/apps/expert/lib/expert/project/progress/value.ex similarity index 89% rename from apps/server/lib/lexical/server/project/progress/value.ex rename to apps/expert/lib/expert/project/progress/value.ex index 9d505e71..c4a18b28 100644 --- a/apps/server/lib/lexical/server/project/progress/value.ex +++ b/apps/expert/lib/expert/project/progress/value.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Server.Project.Progress.Value do - alias Lexical.Protocol.Notifications - alias Lexical.Protocol.Types.WorkDone +defmodule Expert.Project.Progress.Value do + alias Expert.Protocol.Notifications + alias Expert.Protocol.Types.WorkDone @enforce_keys [:token, :kind] defstruct [:token, :kind, :title, :message] diff --git a/apps/server/lib/lexical/server/project/search_listener.ex b/apps/expert/lib/expert/project/search_listener.ex similarity index 79% rename from apps/server/lib/lexical/server/project/search_listener.ex rename to apps/expert/lib/expert/project/search_listener.ex index 2af99b77..1b2fda4d 100644 --- a/apps/server/lib/lexical/server/project/search_listener.ex +++ b/apps/expert/lib/expert/project/search_listener.ex @@ -1,11 +1,11 @@ -defmodule Lexical.Server.Project.SearchListener do - alias Lexical.Formats - alias Lexical.Project - alias Lexical.Protocol.Id - alias Lexical.Protocol.Requests - alias Lexical.RemoteControl.Api - alias Lexical.Server - alias Lexical.Server.Window +defmodule Expert.Project.SearchListener do + alias Forge.Formats + alias Forge.Project + alias Expert.Protocol.Id + alias Expert.Protocol.Requests + alias Engine.Api + alias Expert + alias Expert.Window import Api.Messages @@ -50,6 +50,6 @@ defmodule Lexical.Server.Project.SearchListener do defp send_code_lens_refresh do request = Requests.CodeLensRefresh.new(id: Id.next()) - Server.server_request(request) + Expert.server_request(request) end end diff --git a/apps/server/lib/lexical/server/project/supervisor.ex b/apps/expert/lib/expert/project/supervisor.ex similarity index 73% rename from apps/server/lib/lexical/server/project/supervisor.ex rename to apps/expert/lib/expert/project/supervisor.ex index 58adf99b..6490c0f9 100644 --- a/apps/server/lib/lexical/server/project/supervisor.ex +++ b/apps/expert/lib/expert/project/supervisor.ex @@ -1,16 +1,16 @@ -defmodule Lexical.Server.Project.Supervisor do - alias Lexical.Project - alias Lexical.RemoteControl.ProjectNodeSupervisor - alias Lexical.Server.Project.Diagnostics - alias Lexical.Server.Project.Intelligence - alias Lexical.Server.Project.Node - alias Lexical.Server.Project.Progress - alias Lexical.Server.Project.SearchListener +defmodule Expert.Project.Supervisor do + alias Forge.Project + alias Engine.ProjectNodeSupervisor + alias Expert.Project.Diagnostics + alias Expert.Project.Intelligence + alias Expert.Project.Node + alias Expert.Project.Progress + alias Expert.Project.SearchListener use Supervisor def dynamic_supervisor_name do - Lexical.Server.ProjectSupervisor + Expert.ProjectSupervisor end def options do diff --git a/apps/server/lib/lexical/server/provider/handlers/code_action.ex b/apps/expert/lib/expert/provider/handlers/code_action.ex similarity index 72% rename from apps/server/lib/lexical/server/provider/handlers/code_action.ex rename to apps/expert/lib/expert/provider/handlers/code_action.ex index 14ff286a..df18211d 100644 --- a/apps/server/lib/lexical/server/provider/handlers/code_action.ex +++ b/apps/expert/lib/expert/provider/handlers/code_action.ex @@ -1,11 +1,11 @@ -defmodule Lexical.Server.Provider.Handlers.CodeAction do - alias Lexical.Protocol.Requests - alias Lexical.Protocol.Responses - alias Lexical.Protocol.Types - alias Lexical.Protocol.Types.Workspace - alias Lexical.RemoteControl - alias Lexical.RemoteControl.CodeAction - alias Lexical.Server.Configuration +defmodule Expert.Provider.Handlers.CodeAction do + alias Expert.Protocol.Requests + alias Expert.Protocol.Responses + alias Expert.Protocol.Types + alias Expert.Protocol.Types.Workspace + alias Engine + alias Engine.CodeAction + alias Expert.Configuration require Logger @@ -13,7 +13,7 @@ defmodule Lexical.Server.Provider.Handlers.CodeAction do diagnostics = Enum.map(request.context.diagnostics, &to_code_action_diagnostic/1) code_actions = - RemoteControl.Api.code_actions( + Engine.Api.code_actions( config.project, request.document, request.range, diff --git a/apps/server/lib/lexical/server/provider/handlers/code_lens.ex b/apps/expert/lib/expert/provider/handlers/code_lens.ex similarity index 76% rename from apps/server/lib/lexical/server/provider/handlers/code_lens.ex rename to apps/expert/lib/expert/provider/handlers/code_lens.ex index 62004865..63fa1c17 100644 --- a/apps/server/lib/lexical/server/provider/handlers/code_lens.ex +++ b/apps/expert/lib/expert/provider/handlers/code_lens.ex @@ -1,14 +1,14 @@ -defmodule Lexical.Server.Provider.Handlers.CodeLens do - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.Project - alias Lexical.Protocol.Requests - alias Lexical.Protocol.Responses - alias Lexical.Protocol.Types.CodeLens - alias Lexical.RemoteControl - alias Lexical.Server.Configuration - alias Lexical.Server.Provider.Handlers +defmodule Expert.Provider.Handlers.CodeLens do + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.Project + alias Expert.Protocol.Requests + alias Expert.Protocol.Responses + alias Expert.Protocol.Types.CodeLens + alias Engine + alias Expert.Configuration + alias Expert.Provider.Handlers import Document.Line require Logger @@ -53,6 +53,6 @@ defmodule Lexical.Server.Provider.Handlers.CodeLens do document_path = Path.expand(document.path) document_path == Project.mix_exs_path(project) and - not RemoteControl.Api.index_running?(project) + not Engine.Api.index_running?(project) end end diff --git a/apps/server/lib/lexical/server/provider/handlers/commands.ex b/apps/expert/lib/expert/provider/handlers/commands.ex similarity index 77% rename from apps/server/lib/lexical/server/provider/handlers/commands.ex rename to apps/expert/lib/expert/provider/handlers/commands.ex index 42d64fbc..d4feb01a 100644 --- a/apps/server/lib/lexical/server/provider/handlers/commands.ex +++ b/apps/expert/lib/expert/provider/handlers/commands.ex @@ -1,12 +1,12 @@ -defmodule Lexical.Server.Provider.Handlers.Commands do - alias Lexical.Project - alias Lexical.Protocol.Requests - alias Lexical.Protocol.Responses - alias Lexical.Protocol.Types - alias Lexical.Protocol.Types.ErrorCodes - alias Lexical.RemoteControl - alias Lexical.Server.Configuration - alias Lexical.Server.Window +defmodule Expert.Provider.Handlers.Commands do + alias Forge.Project + alias Expert.Protocol.Requests + alias Expert.Protocol.Responses + alias Expert.Protocol.Types + alias Expert.Protocol.Types.ErrorCodes + alias Engine + alias Expert.Configuration + alias Expert.Window require ErrorCodes require Logger @@ -42,7 +42,7 @@ defmodule Lexical.Server.Provider.Handlers.Commands do end defp reindex(%Project{} = project, request_id) do - case RemoteControl.Api.reindex(project) do + case Engine.Api.reindex(project) do :ok -> Responses.ExecuteCommand.new(request_id, "ok") diff --git a/apps/server/lib/lexical/server/provider/handlers/completion.ex b/apps/expert/lib/expert/provider/handlers/completion.ex similarity index 71% rename from apps/server/lib/lexical/server/provider/handlers/completion.ex rename to apps/expert/lib/expert/provider/handlers/completion.ex index e08115bf..5f29050b 100644 --- a/apps/server/lib/lexical/server/provider/handlers/completion.ex +++ b/apps/expert/lib/expert/provider/handlers/completion.ex @@ -1,12 +1,12 @@ -defmodule Lexical.Server.Provider.Handlers.Completion do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Protocol.Requests - alias Lexical.Protocol.Responses - alias Lexical.Protocol.Types.Completion - alias Lexical.Server.CodeIntelligence - alias Lexical.Server.Configuration +defmodule Expert.Provider.Handlers.Completion do + alias Forge.Ast + alias Forge.Document + alias Forge.Document.Position + alias Expert.Protocol.Requests + alias Expert.Protocol.Responses + alias Expert.Protocol.Types.Completion + alias Expert.CodeIntelligence + alias Expert.Configuration require Logger diff --git a/apps/server/lib/lexical/server/provider/handlers/document_symbols.ex b/apps/expert/lib/expert/provider/handlers/document_symbols.ex similarity index 77% rename from apps/server/lib/lexical/server/provider/handlers/document_symbols.ex rename to apps/expert/lib/expert/provider/handlers/document_symbols.ex index 5805ff26..1775210d 100644 --- a/apps/server/lib/lexical/server/provider/handlers/document_symbols.ex +++ b/apps/expert/lib/expert/provider/handlers/document_symbols.ex @@ -1,12 +1,12 @@ -defmodule Lexical.Server.Provider.Handlers.DocumentSymbols do - alias Lexical.Document - alias Lexical.Protocol.Requests.DocumentSymbols - alias Lexical.Protocol.Responses - alias Lexical.Protocol.Types.Document.Symbol - alias Lexical.Protocol.Types.Symbol.Kind, as: SymbolKind - alias Lexical.RemoteControl.Api - alias Lexical.RemoteControl.CodeIntelligence.Symbols - alias Lexical.Server.Configuration +defmodule Expert.Provider.Handlers.DocumentSymbols do + alias Forge.Document + alias Expert.Protocol.Requests.DocumentSymbols + alias Expert.Protocol.Responses + alias Expert.Protocol.Types.Document.Symbol + alias Expert.Protocol.Types.Symbol.Kind, as: SymbolKind + alias Engine.Api + alias Engine.CodeIntelligence.Symbols + alias Expert.Configuration require SymbolKind diff --git a/apps/server/lib/lexical/server/provider/handlers/find_references.ex b/apps/expert/lib/expert/provider/handlers/find_references.ex similarity index 66% rename from apps/server/lib/lexical/server/provider/handlers/find_references.ex rename to apps/expert/lib/expert/provider/handlers/find_references.ex index a9a788df..847ce4c0 100644 --- a/apps/server/lib/lexical/server/provider/handlers/find_references.ex +++ b/apps/expert/lib/expert/provider/handlers/find_references.ex @@ -1,10 +1,10 @@ -defmodule Lexical.Server.Provider.Handlers.FindReferences do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.Protocol.Requests.FindReferences - alias Lexical.Protocol.Responses - alias Lexical.RemoteControl.Api - alias Lexical.Server.Configuration +defmodule Expert.Provider.Handlers.FindReferences do + alias Forge.Ast + alias Forge.Document + alias Expert.Protocol.Requests.FindReferences + alias Expert.Protocol.Responses + alias Engine.Api + alias Expert.Configuration require Logger diff --git a/apps/server/lib/lexical/server/provider/handlers/formatting.ex b/apps/expert/lib/expert/provider/handlers/formatting.ex similarity index 62% rename from apps/server/lib/lexical/server/provider/handlers/formatting.ex rename to apps/expert/lib/expert/provider/handlers/formatting.ex index b250f74e..da206f29 100644 --- a/apps/server/lib/lexical/server/provider/handlers/formatting.ex +++ b/apps/expert/lib/expert/provider/handlers/formatting.ex @@ -1,16 +1,16 @@ -defmodule Lexical.Server.Provider.Handlers.Formatting do - alias Lexical.Document.Changes - alias Lexical.Protocol.Requests - alias Lexical.Protocol.Responses - alias Lexical.RemoteControl - alias Lexical.Server.Configuration +defmodule Expert.Provider.Handlers.Formatting do + alias Forge.Document.Changes + alias Expert.Protocol.Requests + alias Expert.Protocol.Responses + alias Engine + alias Expert.Configuration require Logger def handle(%Requests.Formatting{} = request, %Configuration{} = config) do document = request.document - case RemoteControl.Api.format(config.project, document) do + case Engine.Api.format(config.project, document) do {:ok, %Changes{} = document_edits} -> response = Responses.Formatting.new(request.id, document_edits) Logger.info("Response #{inspect(response)}") diff --git a/apps/server/lib/lexical/server/provider/handlers/go_to_definition.ex b/apps/expert/lib/expert/provider/handlers/go_to_definition.ex similarity index 55% rename from apps/server/lib/lexical/server/provider/handlers/go_to_definition.ex rename to apps/expert/lib/expert/provider/handlers/go_to_definition.ex index 74b8459f..75746056 100644 --- a/apps/server/lib/lexical/server/provider/handlers/go_to_definition.ex +++ b/apps/expert/lib/expert/provider/handlers/go_to_definition.ex @@ -1,13 +1,13 @@ -defmodule Lexical.Server.Provider.Handlers.GoToDefinition do - alias Lexical.Protocol.Requests.GoToDefinition - alias Lexical.Protocol.Responses - alias Lexical.RemoteControl - alias Lexical.Server.Configuration +defmodule Expert.Provider.Handlers.GoToDefinition do + alias Expert.Protocol.Requests.GoToDefinition + alias Expert.Protocol.Responses + alias Engine + alias Expert.Configuration require Logger def handle(%GoToDefinition{} = request, %Configuration{} = config) do - case RemoteControl.Api.definition(config.project, request.document, request.position) do + case Engine.Api.definition(config.project, request.document, request.position) do {:ok, native_location} -> {:reply, Responses.GoToDefinition.new(request.id, native_location)} diff --git a/apps/server/lib/lexical/server/provider/handlers/hover.ex b/apps/expert/lib/expert/provider/handlers/hover.ex similarity index 88% rename from apps/server/lib/lexical/server/provider/handlers/hover.ex rename to apps/expert/lib/expert/provider/handlers/hover.ex index 731261ef..edb00417 100644 --- a/apps/server/lib/lexical/server/provider/handlers/hover.ex +++ b/apps/expert/lib/expert/provider/handlers/hover.ex @@ -1,16 +1,16 @@ -defmodule Lexical.Server.Provider.Handlers.Hover do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Project - alias Lexical.Protocol.Requests - alias Lexical.Protocol.Responses - alias Lexical.Protocol.Types.Hover - alias Lexical.RemoteControl - alias Lexical.RemoteControl.CodeIntelligence.Docs - alias Lexical.Server.Configuration - alias Lexical.Server.Provider.Markdown +defmodule Expert.Provider.Handlers.Hover do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Document + alias Forge.Document.Position + alias Forge.Project + alias Expert.Protocol.Requests + alias Expert.Protocol.Responses + alias Expert.Protocol.Types.Hover + alias Engine + alias Engine.CodeIntelligence.Docs + alias Expert.Configuration + alias Expert.Provider.Markdown require Logger @@ -32,11 +32,11 @@ defmodule Lexical.Server.Provider.Handlers.Hover do end defp resolve_entity(%Project{} = project, %Analysis{} = analysis, %Position{} = position) do - RemoteControl.Api.resolve_entity(project, analysis, position) + Engine.Api.resolve_entity(project, analysis, position) end defp hover_content({kind, module}, %Project{} = project) when kind in [:module, :struct] do - case RemoteControl.Api.docs(project, module, exclude_hidden: false) do + case Engine.Api.docs(project, module, exclude_hidden: false) do {:ok, %Docs{} = module_docs} -> header = module_header(kind, module_docs) types = module_header_types(kind, module_docs) @@ -59,7 +59,7 @@ defmodule Lexical.Server.Provider.Handlers.Hover do end defp hover_content({:call, module, fun, arity}, %Project{} = project) do - with {:ok, %Docs{} = module_docs} <- RemoteControl.Api.docs(project, module), + with {:ok, %Docs{} = module_docs} <- Engine.Api.docs(project, module), {:ok, entries} <- Map.fetch(module_docs.functions_and_macros, fun) do sections = entries @@ -72,7 +72,7 @@ defmodule Lexical.Server.Provider.Handlers.Hover do end defp hover_content({:type, module, type, arity}, %Project{} = project) do - with {:ok, %Docs{} = module_docs} <- RemoteControl.Api.docs(project, module), + with {:ok, %Docs{} = module_docs} <- Engine.Api.docs(project, module), {:ok, entries} <- Map.fetch(module_docs.types, type) do case Enum.find(entries, &(&1.arity == arity)) do %Docs.Entry{} = entry -> diff --git a/apps/server/lib/lexical/server/provider/handlers/workspace_symbol.ex b/apps/expert/lib/expert/provider/handlers/workspace_symbol.ex similarity index 74% rename from apps/server/lib/lexical/server/provider/handlers/workspace_symbol.ex rename to apps/expert/lib/expert/provider/handlers/workspace_symbol.ex index 3579eb95..8037db51 100644 --- a/apps/server/lib/lexical/server/provider/handlers/workspace_symbol.ex +++ b/apps/expert/lib/expert/provider/handlers/workspace_symbol.ex @@ -1,12 +1,12 @@ -defmodule Lexical.Server.Provider.Handlers.WorkspaceSymbol do - alias Lexical.Protocol.Requests.WorkspaceSymbol - alias Lexical.Protocol.Responses - alias Lexical.Protocol.Types.Location - alias Lexical.Protocol.Types.Symbol.Kind, as: SymbolKind - alias Lexical.Protocol.Types.Workspace.Symbol - alias Lexical.RemoteControl.Api - alias Lexical.RemoteControl.CodeIntelligence.Symbols - alias Lexical.Server.Configuration +defmodule Expert.Provider.Handlers.WorkspaceSymbol do + alias Expert.Protocol.Requests.WorkspaceSymbol + alias Expert.Protocol.Responses + alias Expert.Protocol.Types.Location + alias Expert.Protocol.Types.Symbol.Kind, as: SymbolKind + alias Expert.Protocol.Types.Workspace.Symbol + alias Engine.Api + alias Engine.CodeIntelligence.Symbols + alias Expert.Configuration require SymbolKind @@ -43,7 +43,7 @@ defmodule Lexical.Server.Provider.Handlers.WorkspaceSymbol do defp to_kind(:struct), do: :struct defp to_kind(:module), do: :module defp to_kind({:protocol, _}), do: :module - defp to_kind({:lx_protocol, _}), do: :module + defp to_kind({:xp_protocol, _}), do: :module defp to_kind(:variable), do: :variable defp to_kind({:function, _}), do: :function defp to_kind(:module_attribute), do: :constant diff --git a/apps/server/lib/lexical/server/provider/markdown.ex b/apps/expert/lib/expert/provider/markdown.ex similarity index 95% rename from apps/server/lib/lexical/server/provider/markdown.ex rename to apps/expert/lib/expert/provider/markdown.ex index 51879b8b..a3b4d96f 100644 --- a/apps/server/lib/lexical/server/provider/markdown.ex +++ b/apps/expert/lib/expert/provider/markdown.ex @@ -1,9 +1,9 @@ -defmodule Lexical.Server.Provider.Markdown do +defmodule Expert.Provider.Markdown do @moduledoc """ Utilities for formatting Markdown content. """ - alias Lexical.Protocol.Types.Markup + alias Expert.Protocol.Types.Markup @type markdown :: String.t() diff --git a/apps/server/lib/lexical/server/state.ex b/apps/expert/lib/expert/state.ex similarity index 84% rename from apps/server/lib/lexical/server/state.ex rename to apps/expert/lib/expert/state.ex index 932708f4..5797d798 100644 --- a/apps/server/lib/lexical/server/state.ex +++ b/apps/expert/lib/expert/state.ex @@ -1,35 +1,35 @@ -defmodule Lexical.Server.State do - alias Lexical.Document - alias Lexical.Protocol.Id - alias Lexical.Protocol.Notifications - alias Lexical.Protocol.Notifications.DidChange - alias Lexical.Protocol.Notifications.DidChangeConfiguration - alias Lexical.Protocol.Notifications.DidClose - alias Lexical.Protocol.Notifications.DidOpen - alias Lexical.Protocol.Notifications.DidSave - alias Lexical.Protocol.Notifications.Exit - alias Lexical.Protocol.Notifications.Initialized - alias Lexical.Protocol.Requests.Initialize - alias Lexical.Protocol.Requests.RegisterCapability - alias Lexical.Protocol.Requests.Shutdown - alias Lexical.Protocol.Responses - alias Lexical.Protocol.Types - alias Lexical.Protocol.Types.CodeAction - alias Lexical.Protocol.Types.CodeLens - alias Lexical.Protocol.Types.Completion - alias Lexical.Protocol.Types.DidChangeWatchedFiles - alias Lexical.Protocol.Types.ExecuteCommand - alias Lexical.Protocol.Types.FileEvent - alias Lexical.Protocol.Types.FileSystemWatcher - alias Lexical.Protocol.Types.Registration - alias Lexical.Protocol.Types.TextDocument - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api - alias Lexical.Server.CodeIntelligence - alias Lexical.Server.Configuration - alias Lexical.Server.Project - alias Lexical.Server.Provider.Handlers - alias Lexical.Server.Transport +defmodule Expert.State do + alias Forge.Document + alias Expert.Protocol.Id + alias Expert.Protocol.Notifications + alias Expert.Protocol.Notifications.DidChange + alias Expert.Protocol.Notifications.DidChangeConfiguration + alias Expert.Protocol.Notifications.DidClose + alias Expert.Protocol.Notifications.DidOpen + alias Expert.Protocol.Notifications.DidSave + alias Expert.Protocol.Notifications.Exit + alias Expert.Protocol.Notifications.Initialized + alias Expert.Protocol.Requests.Initialize + alias Expert.Protocol.Requests.RegisterCapability + alias Expert.Protocol.Requests.Shutdown + alias Expert.Protocol.Responses + alias Expert.Protocol.Types + alias Expert.Protocol.Types.CodeAction + alias Expert.Protocol.Types.CodeLens + alias Expert.Protocol.Types.Completion + alias Expert.Protocol.Types.DidChangeWatchedFiles + alias Expert.Protocol.Types.ExecuteCommand + alias Expert.Protocol.Types.FileEvent + alias Expert.Protocol.Types.FileSystemWatcher + alias Expert.Protocol.Types.Registration + alias Expert.Protocol.Types.TextDocument + alias Engine + alias Engine.Api + alias Expert.CodeIntelligence + alias Expert.Configuration + alias Expert.Project + alias Expert.Provider.Handlers + alias Expert.Transport require CodeAction.Kind require Logger @@ -226,7 +226,7 @@ defmodule Lexical.Server.State do end def apply(%__MODULE__{} = state, %Initialized{}) do - Logger.info("Lexical Initialized") + Logger.info("Expert Initialized") {:ok, %__MODULE__{state | initialized?: true}} end @@ -242,7 +242,7 @@ defmodule Lexical.Server.State do Enum.each(event.changes, fn %FileEvent{} = change -> event = filesystem_event(project: Project, uri: change.uri, event_type: change.type) - RemoteControl.Api.broadcast(project, event) + Engine.Api.broadcast(project, event) end) {:ok, state} @@ -308,7 +308,7 @@ defmodule Lexical.Server.State do capabilities: server_capabilities, server_info: Types.Initialize.Result.ServerInfo.new( - name: "Lexical", + name: "Expert", version: "0.0.1" ) ) diff --git a/apps/server/lib/lexical/server/task_queue.ex b/apps/expert/lib/expert/task_queue.ex similarity index 94% rename from apps/server/lib/lexical/server/task_queue.ex rename to apps/expert/lib/expert/task_queue.ex index 9ecb1671..518fb4f9 100644 --- a/apps/server/lib/lexical/server/task_queue.ex +++ b/apps/expert/lib/expert/task_queue.ex @@ -1,9 +1,9 @@ -defmodule Lexical.Server.TaskQueue do +defmodule Expert.TaskQueue do defmodule State do - alias Lexical.Proto.Convert - alias Lexical.Proto.LspTypes.ResponseError - alias Lexical.Server.Transport - import Lexical.Logging + alias Expert.Proto.Convert + alias Expert.Proto.LspTypes.ResponseError + alias Expert.Transport + import Forge.Logging require Logger defstruct ids_to_tasks: %{}, pids_to_ids: %{} @@ -142,7 +142,7 @@ defmodule Lexical.Server.TaskQueue do elapsed = System.system_time(:microsecond) - ts Logger.warning( - "Task #{m}.#{f}/#{length(a)} ran for #{Lexical.Formats.time(elapsed)}. Result #{inspect(result)}" + "Task #{m}.#{f}/#{length(a)} ran for #{Forge.Formats.time(elapsed)}. Result #{inspect(result)}" ) end diff --git a/apps/server/lib/lexical/server/transport.ex b/apps/expert/lib/expert/transport.ex similarity index 55% rename from apps/server/lib/lexical/server/transport.ex rename to apps/expert/lib/expert/transport.ex index a9067283..4110bd1a 100644 --- a/apps/server/lib/lexical/server/transport.ex +++ b/apps/expert/lib/expert/transport.ex @@ -1,12 +1,12 @@ -defmodule Lexical.Server.Transport do +defmodule Expert.Transport do @moduledoc """ A behaviour for a LSP transport """ @callback write(Jason.Encoder.t()) :: Jason.Encoder.t() - alias Lexical.Server.Transport.StdIO + alias Expert.Transport.StdIO - @implementation Application.compile_env(:server, :transport, StdIO) + @implementation Application.compile_env(:expert, :transport, StdIO) defdelegate write(message), to: @implementation end diff --git a/apps/server/lib/lexical/server/transport/std_io.ex b/apps/expert/lib/expert/transport/std_io.ex similarity index 94% rename from apps/server/lib/lexical/server/transport/std_io.ex rename to apps/expert/lib/expert/transport/std_io.ex index 97bf0a76..a8316ab3 100644 --- a/apps/server/lib/lexical/server/transport/std_io.ex +++ b/apps/expert/lib/expert/transport/std_io.ex @@ -1,9 +1,9 @@ -defmodule Lexical.Server.Transport.StdIO do - alias Lexical.Protocol.JsonRpc +defmodule Expert.Transport.StdIO do + alias Expert.Protocol.JsonRpc require Logger - @behaviour Lexical.Server.Transport + @behaviour Expert.Transport def start_link(device, callback) do pid = :proc_lib.spawn_link(__MODULE__, :init, [{callback, device}]) @@ -22,7 +22,7 @@ defmodule Lexical.Server.Transport.StdIO do def write(io_device \\ :stdio, payload) def write(io_device, %_{} = payload) do - with {:ok, lsp} <- Lexical.Proto.Convert.to_lsp(payload), + with {:ok, lsp} <- Expert.Proto.Convert.to_lsp(payload), {:ok, json} <- Jason.encode(lsp) do write(io_device, json) end diff --git a/apps/server/lib/lexical/server/window.ex b/apps/expert/lib/expert/window.ex similarity index 83% rename from apps/server/lib/lexical/server/window.ex rename to apps/expert/lib/expert/window.ex index 37a06a8f..c73de27e 100644 --- a/apps/server/lib/lexical/server/window.ex +++ b/apps/expert/lib/expert/window.ex @@ -1,10 +1,10 @@ -defmodule Lexical.Server.Window do - alias Lexical.Protocol.Id - alias Lexical.Protocol.Notifications.LogMessage - alias Lexical.Protocol.Notifications.ShowMessage - alias Lexical.Protocol.Requests - alias Lexical.Protocol.Types - alias Lexical.Server.Transport +defmodule Expert.Window do + alias Expert.Protocol.Id + alias Expert.Protocol.Notifications.LogMessage + alias Expert.Protocol.Notifications.ShowMessage + alias Expert.Protocol.Requests + alias Expert.Protocol.Types + alias Expert.Transport @type level :: :error | :warning | :info | :log @type message_result :: {:errory, term()} | {:ok, nil} | {:ok, Types.Message.ActionItem.t()} @@ -37,7 +37,7 @@ defmodule Lexical.Server.Window do @spec show_message(level(), message()) :: :ok def show_message(level, message) do request = Requests.ShowMessageRequest.new(id: Id.next(), message: message, type: level) - Lexical.Server.server_request(request) + Expert.server_request(request) end for level <- @levels, @@ -62,7 +62,7 @@ defmodule Lexical.Server.Window do Displays a message to the user in the UI and waits for a response. The result type handed to the callback function is a - `Lexical.Protocol.Types.Message.ActionItem` or nil if there was no response + `Expert.Protocol.Types.Message.ActionItem` or nil if there was no response from the user. The strings passed in as the `actions` command are displayed to the user, and when @@ -84,6 +84,6 @@ defmodule Lexical.Server.Window do type: level ) - Lexical.Server.server_request(request, fn _request, response -> on_response.(response) end) + Expert.server_request(request, fn _request, response -> on_response.(response) end) end end diff --git a/apps/server/lib/mix/tasks/package.ex b/apps/expert/lib/mix/tasks/package.ex similarity index 92% rename from apps/server/lib/mix/tasks/package.ex rename to apps/expert/lib/mix/tasks/package.ex index 522aa723..f8fbf6e9 100644 --- a/apps/server/lib/mix/tasks/package.ex +++ b/apps/expert/lib/mix/tasks/package.ex @@ -1,11 +1,11 @@ defmodule Mix.Tasks.Package do @moduledoc """ - Creates the Lexical application's artifacts + Creates the Expert application's artifacts - Lexical does some strange things to its own code via namespacing, but because it does so, we can't + Expert does some strange things to its own code via namespacing, but because it does so, we can't use standard build tooling. The app names of its modules and dependencies are changed, so `mix install` won't realize that the correct apps are installed. It uses two different VMs, so making an `escript` - will fail, as the second VM needs to find lexical's modules _somewhere. Releases seem ideal, and we + will fail, as the second VM needs to find Expert's modules _somewhere. Releases seem ideal, and we used them for a while, but they need to match the _exact_ Elixir and Erlang versions they were compiled on, right down to the patch level. This is much, much too strict for a project that needs to be able to run on a variety of elixir / erlang versions. @@ -25,12 +25,12 @@ defmodule Mix.Tasks.Package do scripts are copied to a `bin` directory. The end result is a release-like filesystem, but without a lot of the erlang booting stuff. Bootstrapping - accomplished by simple scripts that reside in the project's `/bin` directory, and the `Lexical.Server.Boot` + accomplished by simple scripts that reside in the project's `/bin` directory, and the `Expert.Boot` module, which loads applications and their modules. ## Command line options - * `--path` - The package will be written to the path given. Defaults to `./build/dev/lexical`. If the + * `--path` - The package will be written to the path given. Defaults to `./build/dev/expert`. If the `--zip` option is specified, The name of the zip file is determined by the last entry of the path. For example, if the `--path` option is `_build/dev/output`, then the name of the zip file will be `output.zip`. @@ -41,12 +41,12 @@ defmodule Mix.Tasks.Package do ## Directory structure ```text bin/ - start_lexical.sh + start_expert.sh debug_shell.sh lib/ - lx_common.sh - lx_remote_control.sh - lx_server.ez + xp_forge.sh + xp_engine.sh + xp_expert.ez ... config/ config.exs @@ -66,7 +66,7 @@ defmodule Mix.Tasks.Package do to the code search path with the `-pa` argument. """ - alias Lexical.VM.Versions + alias Forge.VM.Versions alias Mix.Tasks.Namespace @options [ @@ -80,7 +80,7 @@ defmodule Mix.Tasks.Package do def run(args) do {opts, _, _} = OptionParser.parse(args, @options) - default_path = Path.join([Mix.Project.build_path(), "package", "lexical"]) + default_path = Path.join([Mix.Project.build_path(), "package", "expert"]) package_root = Keyword.get(opts, :path, default_path) rebuild_on_version_change(package_root) @@ -232,12 +232,12 @@ defmodule Mix.Tasks.Package do defp server_deps do deps_apps = - if Mix.Project.get() == Lexical.Server.MixProject do + if Mix.Project.get() == Expert.MixProject do Mix.Project.deps_apps() else - server_path = Mix.Project.deps_paths()[:server] + server_path = Mix.Project.deps_paths()[:expert] - Mix.Project.in_project(:server, server_path, fn _ -> + Mix.Project.in_project(:expert, server_path, fn _ -> Mix.Project.deps_apps() end) end @@ -250,7 +250,7 @@ defmodule Mix.Tasks.Package do end) server_dep = - :server + :expert |> Namespace.Module.apply() |> to_string() @@ -270,7 +270,7 @@ defmodule Mix.Tasks.Package do Namespace.Transform.Configs.apply_to_all(config_dest) end - @priv_apps [:remote_control] + @priv_apps [:engine] defp copy_priv_files(package_root) do priv_dest_dir = priv_path(package_root) diff --git a/apps/server/mix.exs b/apps/expert/mix.exs similarity index 84% rename from apps/server/mix.exs rename to apps/expert/mix.exs index eff0a4d6..e309ac58 100644 --- a/apps/server/mix.exs +++ b/apps/expert/mix.exs @@ -1,10 +1,10 @@ -defmodule Lexical.Server.MixProject do +defmodule Expert.MixProject do use Mix.Project Code.require_file("../../mix_includes.exs") def project do [ - app: :server, + app: :expert, version: "0.7.2", elixir: "~> 1.15", start_permanent: Mix.env() == :prod, @@ -18,7 +18,7 @@ defmodule Lexical.Server.MixProject do def application do [ extra_applications: [:logger, :runtime_tools, :kernel, :erts], - mod: {Lexical.Server.Application, []} + mod: {Expert.Application, []} ] end @@ -40,7 +40,7 @@ defmodule Lexical.Server.MixProject do defp deps do [ - {:common, path: "../common", env: Mix.env()}, + {:forge, path: "../forge", env: Mix.env()}, Mix.Credo.dependency(), Mix.Dialyzer.dependency(), {:elixir_sense, @@ -50,7 +50,7 @@ defmodule Lexical.Server.MixProject do {:patch, "~> 0.15", runtime: false, only: [:dev, :test]}, {:path_glob, "~> 0.2"}, {:protocol, path: "../protocol", env: Mix.env()}, - {:remote_control, path: "../remote_control", env: Mix.env()}, + {:engine, path: "../engine", env: Mix.env()}, {:sourceror, "~> 1.9"} ] end diff --git a/apps/server/mix.lock b/apps/expert/mix.lock similarity index 100% rename from apps/server/mix.lock rename to apps/expert/mix.lock diff --git a/apps/server/test/lexical/convertibles/lexical.plugin.diagnostic.result_test.exs b/apps/expert/test/convertibles/expert.plugin.diagnostic.result_test.exs similarity index 88% rename from apps/server/test/lexical/convertibles/lexical.plugin.diagnostic.result_test.exs rename to apps/expert/test/convertibles/expert.plugin.diagnostic.result_test.exs index 4d235aec..afb0e895 100644 --- a/apps/server/test/lexical/convertibles/lexical.plugin.diagnostic.result_test.exs +++ b/apps/expert/test/convertibles/expert.plugin.diagnostic.result_test.exs @@ -1,9 +1,9 @@ -defmodule Lexical.Convertibles.Lexical.Plugin.V1.Diagnostic.ResultTest do - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic - use Lexical.Test.Protocol.ConvertibleSupport +defmodule Expert.Convertibles.Forge.Plugin.V1.Diagnostic.ResultTest do + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic + use Expert.Test.Protocol.ConvertibleSupport - import Lexical.Test.CodeSigil + import Forge.Test.CodeSigil defp plugin_diagnostic(file_path, position) do file_path @@ -76,7 +76,7 @@ defmodule Lexical.Convertibles.Lexical.Plugin.V1.Diagnostic.ResultTest do assert converted.range == range(:lsp, position(:lsp, 5, 10), position(:lsp, 6, 0)) end - test "it converts lexical positions", %{uri: uri, document: document} do + test "it converts expert positions", %{uri: uri, document: document} do assert {:ok, %Types.Diagnostic{} = converted} = to_lsp(plugin_diagnostic(uri, Document.Position.new(document, 1, 1)), uri) @@ -86,15 +86,15 @@ defmodule Lexical.Convertibles.Lexical.Plugin.V1.Diagnostic.ResultTest do } end - test "it converts lexical ranges", %{uri: uri, document: document} do - lexical_range = + test "it converts expert ranges", %{uri: uri, document: document} do + expert_range = Document.Range.new( Document.Position.new(document, 2, 5), Document.Position.new(document, 2, 8) ) assert {:ok, %Types.Diagnostic{} = converted} = - to_lsp(plugin_diagnostic(uri, lexical_range), uri) + to_lsp(plugin_diagnostic(uri, expert_range), uri) assert %Types.Range{start: start_pos, end: end_pos} = converted.range assert start_pos.line == 1 diff --git a/apps/server/test/document_test.exs b/apps/expert/test/document_test.exs similarity index 97% rename from apps/server/test/document_test.exs rename to apps/expert/test/document_test.exs index c5f5e75a..dd24a74d 100644 --- a/apps/server/test/document_test.exs +++ b/apps/expert/test/document_test.exs @@ -1,21 +1,21 @@ -defmodule Lexical.DocumentTest do - alias Lexical.Document - alias Lexical.Protocol.Types.Position - alias Lexical.Protocol.Types.Range - alias Lexical.Protocol.Types.TextEdit +defmodule Forge.DocumentTest do + alias Forge.Document + alias Expert.Protocol.Types.Position + alias Expert.Protocol.Types.Range + alias Expert.Protocol.Types.TextEdit - alias Lexical.Protocol.Types.TextDocument.ContentChangeEvent.TextDocumentContentChangeEvent, + alias Expert.Protocol.Types.TextDocument.ContentChangeEvent.TextDocumentContentChangeEvent, as: RangedContentChange - alias Lexical.Protocol.Types.TextDocument.ContentChangeEvent.TextDocumentContentChangeEvent1, + alias Expert.Protocol.Types.TextDocument.ContentChangeEvent.TextDocumentContentChangeEvent1, as: TextOnlyContentChange use ExUnit.Case use ExUnitProperties - import Lexical.Document, except: [to_string: 1] + import Forge.Document, except: [to_string: 1] - def text(%Lexical.Document{} = doc) do + def text(%Forge.Document{} = doc) do Document.to_string(doc) end @@ -529,7 +529,7 @@ defmodule Lexical.DocumentTest do test "works with a content change event" do orig = """ - defmodule LanguageServer.Experimental.Server.Test do + defmodule LanguageServer.Experimental.Expert.Test do def foo do {"🎸", "other"} end @@ -551,7 +551,7 @@ defmodule Lexical.DocumentTest do test "deleting a line with a multi-byte character" do orig = """ - defmodule LanguageServer.Experimental.Server.Test do + defmodule LanguageServer.Experimental.Expert.Test do def foo do {"🎸", "other"} end diff --git a/apps/server/test/lexical/server/boot_test.exs b/apps/expert/test/expert/boot_test.exs similarity index 76% rename from apps/server/test/lexical/server/boot_test.exs rename to apps/expert/test/expert/boot_test.exs index 4b718fb5..61765003 100644 --- a/apps/server/test/lexical/server/boot_test.exs +++ b/apps/expert/test/expert/boot_test.exs @@ -1,6 +1,6 @@ -defmodule Lexical.Server.BootTest do - alias Lexical.Server.Boot - alias Lexical.VM.Versions +defmodule Expert.BootTest do + alias Expert.Boot + alias Forge.VM.Versions use ExUnit.Case use Patch @@ -18,7 +18,7 @@ defmodule Lexical.Server.BootTest do patch_compiled_versions("1.13.4", "24.3.4") assert [error] = Boot.detect_errors() - assert error =~ "FATAL: Lexical is not compatible with Elixir 1.12.0" + assert error =~ "FATAL: Expert is not compatible with Elixir 1.12.0" end test "includes error when runtime erlang is incompatible" do @@ -26,7 +26,7 @@ defmodule Lexical.Server.BootTest do patch_compiled_versions("1.15.8", "23.0") assert [error] = Boot.detect_errors() - assert error =~ "FATAL: Lexical is not compatible with Erlang/OTP 23.0.0" + assert error =~ "FATAL: Expert is not compatible with Erlang/OTP 23.0.0" end test "includes multiple errors when runtime elixir and erlang are incompatible" do @@ -34,8 +34,8 @@ defmodule Lexical.Server.BootTest do patch_compiled_versions("1.15.8", "26.1") assert [elixir_error, erlang_error] = Boot.detect_errors() - assert elixir_error =~ "FATAL: Lexical is not compatible with Elixir 1.15.2" - assert erlang_error =~ "FATAL: Lexical is not compatible with Erlang/OTP 26.0.0" + assert elixir_error =~ "FATAL: Expert is not compatible with Elixir 1.15.2" + assert erlang_error =~ "FATAL: Expert is not compatible with Erlang/OTP 26.0.0" end end diff --git a/apps/server/test/lexical/server/code_intelligence/completion/builder_test.exs b/apps/expert/test/expert/code_intelligence/completion/builder_test.exs similarity index 84% rename from apps/server/test/lexical/server/code_intelligence/completion/builder_test.exs rename to apps/expert/test/expert/code_intelligence/completion/builder_test.exs index 5857ab81..4de53b19 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion/builder_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/builder_test.exs @@ -1,14 +1,14 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.BuilderTest do - alias Lexical.Ast - alias Lexical.Ast.Env - alias Lexical.Protocol.Types.Completion.Item, as: CompletionItem - alias Lexical.Server.CodeIntelligence.Completion.SortScope +defmodule Expert.CodeIntelligence.Completion.BuilderTest do + alias Forge.Ast + alias Forge.Ast.Env + alias Expert.Protocol.Types.Completion.Item, as: CompletionItem + alias Expert.CodeIntelligence.Completion.SortScope use ExUnit.Case, async: true - import Lexical.Server.CodeIntelligence.Completion.Builder - import Lexical.Test.CursorSupport - import Lexical.Test.Fixtures + import Expert.CodeIntelligence.Completion.Builder + import Forge.Test.CursorSupport + import Engine.Test.Fixtures def new_env(text) do project = project() @@ -30,7 +30,7 @@ defmodule Lexical.Server.CodeIntelligence.Completion.BuilderTest do end setup do - start_supervised!(Lexical.Server.Application.document_store_child_spec()) + start_supervised!(Expert.Application.document_store_child_spec()) :ok end diff --git a/apps/server/test/lexical/server/code_intelligence/completion/translations/bitstring_option_test.exs b/apps/expert/test/expert/code_intelligence/completion/translations/bitstring_option_test.exs similarity index 97% rename from apps/server/test/lexical/server/code_intelligence/completion/translations/bitstring_option_test.exs rename to apps/expert/test/expert/code_intelligence/completion/translations/bitstring_option_test.exs index 195ea6f7..7a86db13 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion/translations/bitstring_option_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/translations/bitstring_option_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.BitstringOptionsTest do - use Lexical.Test.Server.CompletionCase +defmodule Expert.CodeIntelligence.Completion.Translations.BitstringOptionsTest do + use Expert.Test.Expert.CompletionCase describe "bitstring options" do test "offers completions after ::", %{project: project} do diff --git a/apps/server/test/lexical/server/code_intelligence/completion/translations/callback_test.exs b/apps/expert/test/expert/code_intelligence/completion/translations/callback_test.exs similarity index 92% rename from apps/server/test/lexical/server/code_intelligence/completion/translations/callback_test.exs rename to apps/expert/test/expert/code_intelligence/completion/translations/callback_test.exs index 8025b6c3..2e2a91c6 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion/translations/callback_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/translations/callback_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.CallbackTest do - use Lexical.Test.Server.CompletionCase +defmodule Expert.CodeIntelligence.Completion.Translations.CallbackTest do + use Expert.Test.Expert.CompletionCase describe "callback completions" do test "suggest callbacks", %{project: project} do diff --git a/apps/server/test/lexical/server/code_intelligence/completion/translations/function_test.exs b/apps/expert/test/expert/code_intelligence/completion/translations/function_test.exs similarity index 98% rename from apps/server/test/lexical/server/code_intelligence/completion/translations/function_test.exs rename to apps/expert/test/expert/code_intelligence/completion/translations/function_test.exs index d5ed719e..b5bcffa5 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion/translations/function_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/translations/function_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.FunctionTest do - use Lexical.Test.Server.CompletionCase +defmodule Expert.CodeIntelligence.Completion.Translations.FunctionTest do + use Expert.Test.Expert.CompletionCase describe "function completions" do test "deprecated functions are marked", %{project: project} do diff --git a/apps/server/test/lexical/server/code_intelligence/completion/translations/interpolation_test.exs b/apps/expert/test/expert/code_intelligence/completion/translations/interpolation_test.exs similarity index 92% rename from apps/server/test/lexical/server/code_intelligence/completion/translations/interpolation_test.exs rename to apps/expert/test/expert/code_intelligence/completion/translations/interpolation_test.exs index 1fa303a1..38a12254 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion/translations/interpolation_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/translations/interpolation_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.InterpolationTest do - use Lexical.Test.Server.CompletionCase +defmodule Expert.CodeIntelligence.Completion.Translations.InterpolationTest do + use Expert.Test.Expert.CompletionCase test "variables are completed inside strings", %{project: project} do source = diff --git a/apps/server/test/lexical/server/code_intelligence/completion/translations/macro_test.exs b/apps/expert/test/expert/code_intelligence/completion/translations/macro_test.exs similarity index 99% rename from apps/server/test/lexical/server/code_intelligence/completion/translations/macro_test.exs rename to apps/expert/test/expert/code_intelligence/completion/translations/macro_test.exs index f5137076..0f0eb79a 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion/translations/macro_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/translations/macro_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.MacroTest do - alias Lexical.Protocol.Types.Completion +defmodule Expert.CodeIntelligence.Completion.Translations.MacroTest do + alias Expert.Protocol.Types.Completion - use Lexical.Test.Server.CompletionCase + use Expert.Test.Expert.CompletionCase describe "Kernel* macros" do test "do/end only has a single completion", %{project: project} do diff --git a/apps/server/test/lexical/server/code_intelligence/completion/translations/map_field_test.exs b/apps/expert/test/expert/code_intelligence/completion/translations/map_field_test.exs similarity index 87% rename from apps/server/test/lexical/server/code_intelligence/completion/translations/map_field_test.exs rename to apps/expert/test/expert/code_intelligence/completion/translations/map_field_test.exs index 3a422bb6..137086a6 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion/translations/map_field_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/translations/map_field_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.MapFieldTest do - use Lexical.Test.Server.CompletionCase +defmodule Expert.CodeIntelligence.Completion.Translations.MapFieldTest do + use Expert.Test.Expert.CompletionCase test "a map's fields are completed", %{project: project} do source = ~q[ diff --git a/apps/server/test/lexical/server/code_intelligence/completion/translations/module_attribute_test.exs b/apps/expert/test/expert/code_intelligence/completion/translations/module_attribute_test.exs similarity index 98% rename from apps/server/test/lexical/server/code_intelligence/completion/translations/module_attribute_test.exs rename to apps/expert/test/expert/code_intelligence/completion/translations/module_attribute_test.exs index 3ae1a9b2..2deb6438 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion/translations/module_attribute_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/translations/module_attribute_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.ModuleAttributeTest do - use Lexical.Test.Server.CompletionCase +defmodule Expert.CodeIntelligence.Completion.Translations.ModuleAttributeTest do + use Expert.Test.Expert.CompletionCase describe "module attributes" do test "@moduledoc completions", %{project: project} do diff --git a/apps/server/test/lexical/server/code_intelligence/completion/translations/module_or_behaviour_test.exs b/apps/expert/test/expert/code_intelligence/completion/translations/module_or_behaviour_test.exs similarity index 98% rename from apps/server/test/lexical/server/code_intelligence/completion/translations/module_or_behaviour_test.exs rename to apps/expert/test/expert/code_intelligence/completion/translations/module_or_behaviour_test.exs index 6ff91ad1..f9aa36ca 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion/translations/module_or_behaviour_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/translations/module_or_behaviour_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.ModuleOrBehaviourTest do - use Lexical.Test.Server.CompletionCase +defmodule Expert.CodeIntelligence.Completion.Translations.ModuleOrBehaviourTest do + use Expert.Test.Expert.CompletionCase describe "module completions" do test "modules should emit a completion for stdlib modules", %{project: project} do diff --git a/apps/server/test/lexical/server/code_intelligence/completion/translations/struct_field_test.exs b/apps/expert/test/expert/code_intelligence/completion/translations/struct_field_test.exs similarity index 98% rename from apps/server/test/lexical/server/code_intelligence/completion/translations/struct_field_test.exs rename to apps/expert/test/expert/code_intelligence/completion/translations/struct_field_test.exs index d9c2c9b5..c86e1379 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion/translations/struct_field_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/translations/struct_field_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.StructFieldTest do - use Lexical.Test.Server.CompletionCase +defmodule Expert.CodeIntelligence.Completion.Translations.StructFieldTest do + use Expert.Test.Expert.CompletionCase test "a struct's fields are completed", %{project: project} do source = ~q[ diff --git a/apps/server/test/lexical/server/code_intelligence/completion/translations/struct_test.exs b/apps/expert/test/expert/code_intelligence/completion/translations/struct_test.exs similarity index 98% rename from apps/server/test/lexical/server/code_intelligence/completion/translations/struct_test.exs rename to apps/expert/test/expert/code_intelligence/completion/translations/struct_test.exs index 327b64de..12a1185b 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion/translations/struct_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/translations/struct_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.StructTest do - use Lexical.Test.Server.CompletionCase +defmodule Expert.CodeIntelligence.Completion.Translations.StructTest do + use Expert.Test.Expert.CompletionCase describe "structs" do test "should complete after %", %{project: project} do diff --git a/apps/server/test/lexical/server/code_intelligence/completion/translations/variable_test.exs b/apps/expert/test/expert/code_intelligence/completion/translations/variable_test.exs similarity index 87% rename from apps/server/test/lexical/server/code_intelligence/completion/translations/variable_test.exs rename to apps/expert/test/expert/code_intelligence/completion/translations/variable_test.exs index ed0b431e..60f573c8 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion/translations/variable_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/translations/variable_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.VariableTest do - use Lexical.Test.Server.CompletionCase +defmodule Expert.CodeIntelligence.Completion.Translations.VariableTest do + use Expert.Test.Expert.CompletionCase test "variables are completed", %{project: project} do source = ~q[ diff --git a/apps/server/test/lexical/server/code_intelligence/completion_test.exs b/apps/expert/test/expert/code_intelligence/completion_test.exs similarity index 89% rename from apps/server/test/lexical/server/code_intelligence/completion_test.exs rename to apps/expert/test/expert/code_intelligence/completion_test.exs index 3209f232..48e72b49 100644 --- a/apps/server/test/lexical/server/code_intelligence/completion_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion_test.exs @@ -1,23 +1,23 @@ -defmodule Lexical.Server.CodeIntelligence.CompletionTest do - alias Lexical.Protocol.Types.Completion - alias Lexical.Protocol.Types.Completion.Item, as: CompletionItem - alias Lexical.RemoteControl.Completion.Candidate - alias Lexical.Server.CodeIntelligence.Completion.SortScope +defmodule Expert.CodeIntelligence.CompletionTest do + alias Expert.Protocol.Types.Completion + alias Expert.Protocol.Types.Completion.Item, as: CompletionItem + alias Engine.Completion.Candidate + alias Expert.CodeIntelligence.Completion.SortScope - use Lexical.Test.Server.CompletionCase + use Expert.Test.Expert.CompletionCase use Patch - describe "excluding modules from lexical dependencies" do - test "lexical modules are removed", %{project: project} do - assert [] = complete(project, "Lexica|l") + describe "excluding modules from expert dependencies" do + test "expert modules are removed", %{project: project} do + assert [] = complete(project, "Exper|t") end - test "Lexical submodules are removed", %{project: project} do - assert [] = complete(project, "Lexical.RemoteContro|l") + test "Expert submodules are removed", %{project: project} do + assert [] = complete(project, "Expert.RemoteContro|l") end - test "Lexical functions are removed", %{project: project} do - assert [] = complete(project, "Lexical.RemoteControl.|") + test "Expert functions are removed", %{project: project} do + assert [] = complete(project, "Engine.|") end test "Dependency modules are removed", %{project: project} do @@ -149,7 +149,7 @@ defmodule Lexical.Server.CodeIntelligence.CompletionTest do origin: nil } - patch(Lexical.RemoteControl.Api, :complete, [candidate]) + patch(Engine.Api, :complete, [candidate]) [completion] = complete(project, " @type a|") assert completion.label == "any()" @@ -157,7 +157,7 @@ defmodule Lexical.Server.CodeIntelligence.CompletionTest do test "typespecs with no full_name are completed", %{project: project} do candidate = %Candidate.Struct{full_name: nil, metadata: %{}, name: "Struct"} - patch(Lexical.RemoteControl.Api, :complete, [candidate]) + patch(Engine.Api, :complete, [candidate]) [completion] = complete(project, " %Stru|") assert completion.label == "Struct" @@ -210,7 +210,7 @@ defmodule Lexical.Server.CodeIntelligence.CompletionTest do %Candidate.Variable{name: "#{name}-variable"} ] - patch(Lexical.RemoteControl.Api, :complete, all_completions) + patch(Engine.Api, :complete, all_completions) :ok end diff --git a/apps/server/test/lexical/server/project/diagnostics/state_test.exs b/apps/expert/test/expert/project/diagnostics/state_test.exs similarity index 93% rename from apps/server/test/lexical/server/project/diagnostics/state_test.exs rename to apps/expert/test/expert/project/diagnostics/state_test.exs index 172c6bb5..cdbab710 100644 --- a/apps/server/test/lexical/server/project/diagnostics/state_test.exs +++ b/apps/expert/test/expert/project/diagnostics/state_test.exs @@ -1,16 +1,16 @@ -defmodule Lexical.Project.Diagnostics.StateTest do - alias Lexical.Document - alias Lexical.Document.Edit - alias Lexical.Plugin.V1.Diagnostic - alias Lexical.Project - alias Lexical.Server.Project.Diagnostics.State +defmodule Forge.Project.Diagnostics.StateTest do + alias Forge.Document + alias Forge.Document.Edit + alias Forge.Plugin.V1.Diagnostic + alias Forge.Project + alias Expert.Project.Diagnostics.State - import Lexical.Test.Fixtures + import Engine.Test.Fixtures - use Lexical.Test.CodeMod.Case + use Engine.Test.CodeMod.Case setup do - {:ok, _} = start_supervised(Lexical.Document.Store) + {:ok, _} = start_supervised(Forge.Document.Store) project = project() state = State.new(project) diff --git a/apps/server/test/lexical/server/project/diagnostics_test.exs b/apps/expert/test/expert/project/diagnostics_test.exs similarity index 75% rename from apps/server/test/lexical/server/project/diagnostics_test.exs rename to apps/expert/test/expert/project/diagnostics_test.exs index eaaa08b1..0d32fa6e 100644 --- a/apps/server/test/lexical/server/project/diagnostics_test.exs +++ b/apps/expert/test/expert/project/diagnostics_test.exs @@ -1,25 +1,25 @@ -defmodule Lexical.Server.Project.DiagnosticsTest do - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic - alias Lexical.Protocol.Notifications.PublishDiagnostics - alias Lexical.RemoteControl - alias Lexical.Server - alias Lexical.Server.Transport - alias Lexical.Test.DispatchFake +defmodule Expert.Project.DiagnosticsTest do + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic + alias Expert.Protocol.Notifications.PublishDiagnostics + alias Engine + alias Expert + alias Expert.Transport + alias Expert.Test.DispatchFake use ExUnit.Case use Patch use DispatchFake - import Lexical.RemoteControl.Api.Messages - import Lexical.Test.Fixtures + import Engine.Api.Messages + import Engine.Test.Fixtures setup do project = project() DispatchFake.start() - start_supervised!(Lexical.Document.Store) - start_supervised!({Server.Project.Diagnostics, project}) + start_supervised!(Forge.Document.Store) + start_supervised!({Expert.Project.Diagnostics, project}) {:ok, project: project} end @@ -65,12 +65,12 @@ defmodule Lexical.Server.Project.DiagnosticsTest do file_diagnostics_message = file_diagnostics(diagnostics: [diagnostic(document.uri)], uri: document.uri) - RemoteControl.Api.broadcast(project, file_diagnostics_message) + Engine.Api.broadcast(project, file_diagnostics_message) assert_receive {:transport, %PublishDiagnostics{}} Document.Store.get_and_update(document.uri, &Document.mark_clean/1) - RemoteControl.Api.broadcast(project, project_diagnostics(diagnostics: [])) + Engine.Api.broadcast(project, project_diagnostics(diagnostics: [])) assert_receive {:transport, %PublishDiagnostics{diagnostics: nil}} end @@ -83,11 +83,11 @@ defmodule Lexical.Server.Project.DiagnosticsTest do file_diagnostics_message = file_diagnostics(diagnostics: [diagnostic(document.uri)], uri: document.uri) - RemoteControl.Api.broadcast(project, file_diagnostics_message) + Engine.Api.broadcast(project, file_diagnostics_message) assert_receive {:transport, %PublishDiagnostics{}}, 500 Document.Store.close(document.uri) - RemoteControl.Api.broadcast(project, project_diagnostics(diagnostics: [])) + Engine.Api.broadcast(project, project_diagnostics(diagnostics: [])) assert_receive {:transport, %PublishDiagnostics{diagnostics: nil}} end @@ -103,7 +103,7 @@ defmodule Lexical.Server.Project.DiagnosticsTest do file_diagnostics_message = file_diagnostics(diagnostics: [diagnostic], uri: document.uri) - RemoteControl.Api.broadcast(project, file_diagnostics_message) + Engine.Api.broadcast(project, file_diagnostics_message) assert_receive {:transport, %PublishDiagnostics{lsp: %{diagnostics: [diagnostic]}}}, 500 assert %Diagnostic.Result{} = diagnostic diff --git a/apps/server/test/lexical/server/project/intelligence_test.exs b/apps/expert/test/expert/project/intelligence_test.exs similarity index 96% rename from apps/server/test/lexical/server/project/intelligence_test.exs rename to apps/expert/test/expert/project/intelligence_test.exs index 86e84112..0d99b993 100644 --- a/apps/server/test/lexical/server/project/intelligence_test.exs +++ b/apps/expert/test/expert/project/intelligence_test.exs @@ -1,9 +1,9 @@ -defmodule Lexical.Server.Project.IntelligenceTest do - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api.Messages - alias Lexical.Server.Project.Intelligence - alias Lexical.Test.DispatchFake - alias Lexical.Test.Fixtures +defmodule Expert.Project.IntelligenceTest do + alias Engine + alias Engine.Api.Messages + alias Expert.Project.Intelligence + alias Expert.Test.DispatchFake + alias Engine.Test.Fixtures use ExUnit.Case use Patch @@ -39,7 +39,7 @@ defmodule Lexical.Server.Project.IntelligenceTest do struct: [name: nil] ) ] - |> Enum.each(&RemoteControl.Api.broadcast(project, &1)) + |> Enum.each(&Engine.Api.broadcast(project, &1)) Process.sleep(50) :ok diff --git a/apps/server/test/lexical/server/project/node_test.exs b/apps/expert/test/expert/project/node_test.exs similarity index 57% rename from apps/server/test/lexical/server/project/node_test.exs rename to apps/expert/test/expert/project/node_test.exs index 88da491c..4dc595b1 100644 --- a/apps/server/test/lexical/server/project/node_test.exs +++ b/apps/expert/test/expert/project/node_test.exs @@ -1,21 +1,21 @@ -defmodule Lexical.Server.Project.NodeTest do - alias Lexical.RemoteControl - alias Lexical.Server - alias Lexical.Server.Project.Node, as: ProjectNode +defmodule Expert.Project.NodeTest do + alias Engine + alias Expert + alias Expert.Project.Node, as: ProjectNode - import Lexical.Test.Fixtures - import RemoteControl.Api.Messages + import Engine.Test.Fixtures + import Engine.Api.Messages use ExUnit.Case - use Lexical.Test.EventualAssertions + use Forge.Test.EventualAssertions setup do project = project() - {:ok, _} = start_supervised({DynamicSupervisor, Server.Project.Supervisor.options()}) - {:ok, _} = start_supervised({Server.Project.Supervisor, project}) + {:ok, _} = start_supervised({DynamicSupervisor, Expert.Project.Supervisor.options()}) + {:ok, _} = start_supervised({Expert.Project.Supervisor, project}) - :ok = RemoteControl.Api.register_listener(project, self(), [project_compiled()]) + :ok = Engine.Api.register_listener(project, self(), [project_compiled()]) {:ok, project: project} end @@ -25,16 +25,16 @@ defmodule Lexical.Server.Project.NodeTest do end test "remote control is started when the node starts", %{project: project} do - apps = RemoteControl.call(project, Application, :started_applications) + apps = Engine.call(project, Application, :started_applications) app_names = Enum.map(apps, &elem(&1, 0)) - assert :remote_control in app_names + assert :engine in app_names end test "the node is restarted when it goes down", %{project: project} do node_name = ProjectNode.node_name(project) old_pid = node_pid(project) - :ok = RemoteControl.stop(project) + :ok = Engine.stop(project) assert_eventually Node.ping(node_name) == :pong, 1000 new_pid = node_pid(project) @@ -44,7 +44,7 @@ defmodule Lexical.Server.Project.NodeTest do test "the node restarts when the supervisor pid is killed", %{project: project} do node_name = ProjectNode.node_name(project) - supervisor_pid = RemoteControl.call(project, Process, :whereis, [RemoteControl.Supervisor]) + supervisor_pid = Engine.call(project, Process, :whereis, [Engine.Supervisor]) assert is_pid(supervisor_pid) Process.exit(supervisor_pid, :kill) @@ -53,7 +53,7 @@ defmodule Lexical.Server.Project.NodeTest do defp node_pid(project) do project - |> RemoteControl.ProjectNode.name() + |> Engine.ProjectNode.name() |> Process.whereis() end end diff --git a/apps/server/test/lexical/server/project/progress/state_test.exs b/apps/expert/test/expert/project/progress/state_test.exs similarity index 90% rename from apps/server/test/lexical/server/project/progress/state_test.exs rename to apps/expert/test/expert/project/progress/state_test.exs index bd5aac10..484a96a0 100644 --- a/apps/server/test/lexical/server/project/progress/state_test.exs +++ b/apps/expert/test/expert/project/progress/state_test.exs @@ -1,9 +1,9 @@ -defmodule Lexical.Server.Project.Progress.StateTest do - alias Lexical.Server.Project.Progress.State - alias Lexical.Server.Project.Progress.Value +defmodule Expert.Project.Progress.StateTest do + alias Expert.Project.Progress.State + alias Expert.Project.Progress.Value - import Lexical.RemoteControl.Api.Messages - import Lexical.Test.Fixtures + import Engine.Api.Messages + import Engine.Test.Fixtures use ExUnit.Case, async: true diff --git a/apps/server/test/lexical/server/project/progress/support_test.exs b/apps/expert/test/expert/project/progress/support_test.exs similarity index 82% rename from apps/server/test/lexical/server/project/progress/support_test.exs rename to apps/expert/test/expert/project/progress/support_test.exs index 5a5d110b..37bc0e55 100644 --- a/apps/server/test/lexical/server/project/progress/support_test.exs +++ b/apps/expert/test/expert/project/progress/support_test.exs @@ -1,8 +1,8 @@ -defmodule Lexical.Server.Project.Progress.SupportTest do - alias Lexical.Server.Project.Progress +defmodule Expert.Project.Progress.SupportTest do + alias Expert.Project.Progress - import Lexical.RemoteControl.Api.Messages - import Lexical.Test.Fixtures + import Engine.Api.Messages + import Engine.Test.Fixtures use ExUnit.Case use Patch diff --git a/apps/server/test/lexical/server/project/progress_test.exs b/apps/expert/test/expert/project/progress_test.exs similarity index 84% rename from apps/server/test/lexical/server/project/progress_test.exs rename to apps/expert/test/expert/project/progress_test.exs index 7a08559e..66edaec3 100644 --- a/apps/server/test/lexical/server/project/progress_test.exs +++ b/apps/expert/test/expert/project/progress_test.exs @@ -1,44 +1,44 @@ -defmodule Lexical.Server.Project.ProgressTest do - alias Lexical.Protocol.Notifications - alias Lexical.Protocol.Requests - alias Lexical.RemoteControl - alias Lexical.RemoteControl - alias Lexical.Server.Configuration - alias Lexical.Server.Project - alias Lexical.Server.Transport - alias Lexical.Test.DispatchFake - - import Lexical.Test.Fixtures - import RemoteControl.Api.Messages +defmodule Expert.Project.ProgressTest do + alias Expert.Protocol.Notifications + alias Expert.Protocol.Requests + alias Engine + alias Engine + alias Expert.Configuration + alias Expert.Project + alias Expert.Transport + alias Expert.Test.DispatchFake + + import Engine.Test.Fixtures + import Engine.Api.Messages use ExUnit.Case use Patch use DispatchFake - use Lexical.Test.EventualAssertions + use Forge.Test.EventualAssertions setup do project = project() pid = start_supervised!({Project.Progress, project}) DispatchFake.start() - RemoteControl.Dispatch.register_listener(pid, project_progress()) - RemoteControl.Dispatch.register_listener(pid, percent_progress()) + Engine.Dispatch.register_listener(pid, project_progress()) + Engine.Dispatch.register_listener(pid, percent_progress()) {:ok, project: project} end def percent_begin(project, label, max) do message = percent_progress(stage: :begin, label: label, max: max) - RemoteControl.Api.broadcast(project, message) + Engine.Api.broadcast(project, message) end defp percent_report(project, label, delta, message \\ nil) do message = percent_progress(stage: :report, label: label, message: message, delta: delta) - RemoteControl.Api.broadcast(project, message) + Engine.Api.broadcast(project, message) end defp percent_complete(project, label, message) do message = percent_progress(stage: :complete, label: label, message: message) - RemoteControl.Api.broadcast(project, message) + Engine.Api.broadcast(project, message) end def progress(stage, label, message \\ "") do @@ -67,13 +67,13 @@ defmodule Lexical.Server.Project.ProgressTest do patch(Configuration, :client_supports?, fn :work_done_progress -> true end) begin_message = progress(:begin, "mix compile") - RemoteControl.Api.broadcast(project, begin_message) + Engine.Api.broadcast(project, begin_message) assert_receive {:transport, %Requests.CreateWorkDoneProgress{lsp: %{token: token}}} assert_receive {:transport, %Notifications.Progress{}} report_message = progress(:report, "mix compile", "lib/file.ex") - RemoteControl.Api.broadcast(project, report_message) + Engine.Api.broadcast(project, report_message) assert_receive {:transport, %Notifications.Progress{lsp: %{token: ^token, value: value}}} assert value.kind == "report" @@ -86,7 +86,7 @@ defmodule Lexical.Server.Project.ProgressTest do patch(Configuration, :client_supports?, fn :work_done_progress -> false end) begin_message = progress(:begin, "mix compile") - RemoteControl.Api.broadcast(project, begin_message) + Engine.Api.broadcast(project, begin_message) refute_receive {:transport, %Requests.CreateWorkDoneProgress{lsp: %{}}} end diff --git a/apps/server/test/lexical/server/provider/handlers/code_lens_test.exs b/apps/expert/test/expert/provider/handlers/code_lens_test.exs similarity index 70% rename from apps/server/test/lexical/server/provider/handlers/code_lens_test.exs rename to apps/expert/test/expert/provider/handlers/code_lens_test.exs index c6d1e0e3..4dd77bb8 100644 --- a/apps/server/test/lexical/server/provider/handlers/code_lens_test.exs +++ b/apps/expert/test/expert/provider/handlers/code_lens_test.exs @@ -1,17 +1,17 @@ -defmodule Lexical.Server.Provider.Handlers.CodeLensTest do - alias Lexical.Document - alias Lexical.Project - alias Lexical.Proto.Convert - alias Lexical.Protocol.Requests.CodeLens - alias Lexical.Protocol.Types - alias Lexical.RemoteControl - alias Lexical.Server - alias Lexical.Server.Provider.Handlers - - import Lexical.Test.Protocol.Fixtures.LspProtocol - import Lexical.RemoteControl.Api.Messages - import Lexical.Test.Fixtures - import Lexical.Test.RangeSupport +defmodule Expert.Provider.Handlers.CodeLensTest do + alias Forge.Document + alias Forge.Project + alias Expert.Proto.Convert + alias Expert.Protocol.Requests.CodeLens + alias Expert.Protocol.Types + alias Engine + alias Expert + alias Expert.Provider.Handlers + + import Expert.Test.Protocol.Fixtures.LspProtocol + import Engine.Api.Messages + import Engine.Test.Fixtures + import Forge.Test.RangeSupport use ExUnit.Case, async: false use Patch @@ -20,11 +20,11 @@ defmodule Lexical.Server.Provider.Handlers.CodeLensTest do start_supervised(Document.Store) project = project(:umbrella) - start_supervised!({DynamicSupervisor, Server.Project.Supervisor.options()}) - start_supervised!({Server.Project.Supervisor, project}) + start_supervised!({DynamicSupervisor, Expert.Project.Supervisor.options()}) + start_supervised!({Expert.Project.Supervisor, project}) - RemoteControl.Api.register_listener(project, self(), [project_compiled()]) - RemoteControl.Api.schedule_compile(project, true) + Engine.Api.register_listener(project, self(), [project_compiled()]) + Engine.Api.schedule_compile(project, true) assert_receive project_compiled(), 5000 @@ -32,7 +32,7 @@ defmodule Lexical.Server.Provider.Handlers.CodeLensTest do end defp with_indexing_enabled(_) do - patch(Lexical.RemoteControl.Api, :index_running?, false) + patch(Engine.Api, :index_running?, false) :ok end @@ -55,7 +55,7 @@ defmodule Lexical.Server.Provider.Handlers.CodeLensTest do end def handle(request, project) do - config = Server.Configuration.new(project: project) + config = Expert.Configuration.new(project: project) Handlers.CodeLens.handle(request, config) end diff --git a/apps/server/test/lexical/server/provider/handlers/find_references_test.exs b/apps/expert/test/expert/provider/handlers/find_references_test.exs similarity index 66% rename from apps/server/test/lexical/server/provider/handlers/find_references_test.exs rename to apps/expert/test/expert/provider/handlers/find_references_test.exs index 284db804..b6227711 100644 --- a/apps/server/test/lexical/server/provider/handlers/find_references_test.exs +++ b/apps/expert/test/expert/provider/handlers/find_references_test.exs @@ -1,22 +1,22 @@ -defmodule Lexical.Server.Provider.Handlers.FindReferencesTest do - alias Lexical.Ast.Analysis - alias Lexical.Document - alias Lexical.Document.Location - alias Lexical.Proto.Convert - alias Lexical.Protocol.Requests.FindReferences - alias Lexical.Protocol.Responses - alias Lexical.RemoteControl - alias Lexical.Server - alias Lexical.Server.Provider.Handlers +defmodule Expert.Provider.Handlers.FindReferencesTest do + alias Forge.Ast.Analysis + alias Forge.Document + alias Forge.Document.Location + alias Expert.Proto.Convert + alias Expert.Protocol.Requests.FindReferences + alias Expert.Protocol.Responses + alias Engine + alias Expert + alias Expert.Provider.Handlers - import Lexical.Test.Protocol.Fixtures.LspProtocol - import Lexical.Test.Fixtures + import Expert.Test.Protocol.Fixtures.LspProtocol + import Engine.Test.Fixtures use ExUnit.Case, async: false use Patch setup_all do - start_supervised(Server.Application.document_store_child_spec()) + start_supervised(Expert.Application.document_store_child_spec()) :ok end @@ -42,16 +42,13 @@ defmodule Lexical.Server.Provider.Handlers.FindReferencesTest do end def handle(request, project) do - config = Server.Configuration.new(project: project) + config = Expert.Configuration.new(project: project) Handlers.FindReferences.handle(request, config) end describe "find references" do test "returns locations that the entity returns", %{project: project, uri: uri} do - patch(RemoteControl.Api, :references, fn ^project, - %Analysis{document: document}, - _position, - _ -> + patch(Engine.Api, :references, fn ^project, %Analysis{document: document}, _position, _ -> locations = [ Location.new( Document.Range.new( @@ -73,7 +70,7 @@ defmodule Lexical.Server.Provider.Handlers.FindReferencesTest do end test "returns nothing if the entity can't resolve it", %{project: project, uri: uri} do - patch(RemoteControl.Api, :references, nil) + patch(Engine.Api, :references, nil) {:ok, request} = build_request(uri, 1, 5) diff --git a/apps/server/test/lexical/server/provider/handlers/go_to_definition_test.exs b/apps/expert/test/expert/provider/handlers/go_to_definition_test.exs similarity index 73% rename from apps/server/test/lexical/server/provider/handlers/go_to_definition_test.exs rename to apps/expert/test/expert/provider/handlers/go_to_definition_test.exs index 37cc97b7..0dee1ccb 100644 --- a/apps/server/test/lexical/server/provider/handlers/go_to_definition_test.exs +++ b/apps/expert/test/expert/provider/handlers/go_to_definition_test.exs @@ -1,31 +1,31 @@ -defmodule Lexical.Server.Provider.Handlers.GoToDefinitionTest do - alias Lexical.Document - alias Lexical.Document.Location - alias Lexical.Proto.Convert - alias Lexical.Protocol.Requests.GoToDefinition - alias Lexical.RemoteControl - alias Lexical.Server - alias Lexical.Server.Provider.Handlers - - import Lexical.Test.Protocol.Fixtures.LspProtocol - import Lexical.RemoteControl.Api.Messages - import Lexical.Test.Fixtures +defmodule Expert.Provider.Handlers.GoToDefinitionTest do + alias Forge.Document + alias Forge.Document.Location + alias Expert.Proto.Convert + alias Expert.Protocol.Requests.GoToDefinition + alias Engine + alias Expert + alias Expert.Provider.Handlers + + import Expert.Test.Protocol.Fixtures.LspProtocol + import Engine.Api.Messages + import Engine.Test.Fixtures use ExUnit.Case, async: false setup_all do project = project(:navigations) - start_supervised!(Server.Application.document_store_child_spec()) - start_supervised!({DynamicSupervisor, Server.Project.Supervisor.options()}) - start_supervised!({Server.Project.Supervisor, project}) + start_supervised!(Expert.Application.document_store_child_spec()) + start_supervised!({DynamicSupervisor, Expert.Project.Supervisor.options()}) + start_supervised!({Expert.Project.Supervisor, project}) - RemoteControl.Api.register_listener(project, self(), [ + Engine.Api.register_listener(project, self(), [ project_compiled(), project_index_ready() ]) - RemoteControl.Api.schedule_compile(project, true) + Engine.Api.schedule_compile(project, true) assert_receive project_compiled(), 5000 assert_receive project_index_ready(), 5000 @@ -52,7 +52,7 @@ defmodule Lexical.Server.Provider.Handlers.GoToDefinitionTest do end def handle(request, project) do - config = Server.Configuration.new(project: project) + config = Expert.Configuration.new(project: project) Handlers.GoToDefinition.handle(request, config) end diff --git a/apps/server/test/lexical/server/provider/handlers/hover_test.exs b/apps/expert/test/expert/provider/handlers/hover_test.exs similarity index 94% rename from apps/server/test/lexical/server/provider/handlers/hover_test.exs rename to apps/expert/test/expert/provider/handlers/hover_test.exs index 661ec549..695ef0a0 100644 --- a/apps/server/test/lexical/server/provider/handlers/hover_test.exs +++ b/apps/expert/test/expert/provider/handlers/hover_test.exs @@ -1,19 +1,19 @@ -defmodule Lexical.Server.Provider.Handlers.HoverTest do - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Proto.Convert - alias Lexical.Protocol.Requests - alias Lexical.Protocol.Types - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Api.Messages - alias Lexical.Server - alias Lexical.Server.Provider.Handlers - alias Lexical.Test.Fixtures - alias Lexical.Test.Protocol.Fixtures.LspProtocol - - import Lexical.Test.CodeSigil - import Lexical.Test.CursorSupport - import Lexical.Test.RangeSupport +defmodule Expert.Provider.Handlers.HoverTest do + alias Forge.Document + alias Forge.Document.Position + alias Expert.Proto.Convert + alias Expert.Protocol.Requests + alias Expert.Protocol.Types + alias Engine + alias Engine.Api.Messages + alias Expert + alias Expert.Provider.Handlers + alias Engine.Test.Fixtures + alias Expert.Test.Protocol.Fixtures.LspProtocol + + import Forge.Test.CodeSigil + import Forge.Test.CursorSupport + import Forge.Test.RangeSupport require Messages @@ -22,11 +22,11 @@ defmodule Lexical.Server.Provider.Handlers.HoverTest do setup_all do project = Fixtures.project() - start_supervised!(Server.Application.document_store_child_spec()) - start_supervised!({DynamicSupervisor, Server.Project.Supervisor.options()}) - start_supervised!({Server.Project.Supervisor, project}) + start_supervised!(Expert.Application.document_store_child_spec()) + start_supervised!({DynamicSupervisor, Expert.Project.Supervisor.options()}) + start_supervised!({Expert.Project.Supervisor, project}) - :ok = RemoteControl.Api.register_listener(project, self(), [Messages.project_compiled()]) + :ok = Engine.Api.register_listener(project, self(), [Messages.project_compiled()]) assert_receive Messages.project_compiled(), 5000 {:ok, project: project} @@ -44,12 +44,12 @@ defmodule Lexical.Server.Provider.Handlers.HoverTest do with_tmp_file(tmp_path, code, fn -> {:ok, compile_path} = - RemoteControl.Mix.in_project(project, fn _ -> + Engine.Mix.in_project(project, fn _ -> Mix.Project.compile_path() end) {:ok, modules, _} = - RemoteControl.call(project, Kernel.ParallelCompiler, :compile_to_path, [ + Engine.call(project, Kernel.ParallelCompiler, :compile_to_path, [ [tmp_path], compile_path ]) @@ -58,8 +58,8 @@ defmodule Lexical.Server.Provider.Handlers.HoverTest do fun.() after for module <- modules do - path = RemoteControl.call(project, :code, :which, [module]) - RemoteControl.call(project, :code, :delete, [module]) + path = Engine.call(project, :code, :which, [module]) + Engine.call(project, :code, :delete, [module]) File.rm!(path) end end @@ -724,7 +724,7 @@ defmodule Lexical.Server.Provider.Handlers.HoverTest do with {position, hovered} <- pop_cursor(hovered), {:ok, document} <- document_with_content(project, hovered), {:ok, request} <- hover_request(document.uri, position) do - config = Server.Configuration.new(project: project) + config = Expert.Configuration.new(project: project) Handlers.Hover.handle(request, config) end end diff --git a/apps/server/test/lexical/server/task_queue_test.exs b/apps/expert/test/expert/task_queue_test.exs similarity index 91% rename from apps/server/test/lexical/server/task_queue_test.exs rename to apps/expert/test/expert/task_queue_test.exs index d034a119..c4918d08 100644 --- a/apps/server/test/lexical/server/task_queue_test.exs +++ b/apps/expert/test/expert/task_queue_test.exs @@ -1,15 +1,15 @@ -defmodule Lexical.Server.TaskQueueTest do - alias Lexical.Protocol.Notifications - alias Lexical.Protocol.Requests - alias Lexical.Server.Configuration - alias Lexical.Server.Provider.Handlers - alias Lexical.Server.TaskQueue - alias Lexical.Server.Transport - alias Lexical.Test.Fixtures +defmodule Expert.TaskQueueTest do + alias Expert.Protocol.Notifications + alias Expert.Protocol.Requests + alias Expert.Configuration + alias Expert.Provider.Handlers + alias Expert.TaskQueue + alias Expert.Transport + alias Engine.Test.Fixtures use ExUnit.Case use Patch - use Lexical.Test.EventualAssertions + use Forge.Test.EventualAssertions setup_all do {:ok, config: Configuration.new(project: Fixtures.project())} @@ -27,7 +27,7 @@ defmodule Lexical.Server.TaskQueueTest do def request(config, func) do id = System.unique_integer([:positive]) - patch(Lexical.Server, :handler_for, fn _ -> {:ok, Handlers.Completion} end) + patch(Expert, :handler_for, fn _ -> {:ok, Handlers.Completion} end) patch(Handlers.Completion, :handle, fn request, %Configuration{} = ^config -> func.(request, config) diff --git a/apps/server/test/lexical/server/transport/std_io_test.exs b/apps/expert/test/expert/transport/std_io_test.exs similarity index 93% rename from apps/server/test/lexical/server/transport/std_io_test.exs rename to apps/expert/test/expert/transport/std_io_test.exs index 85b35c96..f3e9a5a5 100644 --- a/apps/server/test/lexical/server/transport/std_io_test.exs +++ b/apps/expert/test/expert/transport/std_io_test.exs @@ -1,6 +1,6 @@ -defmodule Lexical.Server.Transport.StdIoTest do - alias Lexical.Protocol.JsonRpc - alias Lexical.Server.Transport.StdIO +defmodule Expert.Transport.StdIoTest do + alias Expert.Protocol.JsonRpc + alias Expert.Transport.StdIO use ExUnit.Case diff --git a/apps/server/test/support/lexical/test/completion_case.ex b/apps/expert/test/support/test/completion_case.ex similarity index 76% rename from apps/server/test/support/lexical/test/completion_case.ex rename to apps/expert/test/support/test/completion_case.ex index 9c735b74..6317fbe8 100644 --- a/apps/server/test/support/lexical/test/completion_case.ex +++ b/apps/expert/test/support/test/completion_case.ex @@ -1,32 +1,32 @@ -defmodule Lexical.Test.Server.CompletionCase do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.Project - alias Lexical.Protocol.Types.Completion.Context, as: CompletionContext - alias Lexical.Protocol.Types.Completion.Item, as: CompletionItem - alias Lexical.Protocol.Types.Completion.List, as: CompletionList - alias Lexical.RemoteControl - alias Lexical.Server - alias Lexical.Server.CodeIntelligence.Completion - alias Lexical.Test.CodeSigil +defmodule Expert.Test.Expert.CompletionCase do + alias Forge.Ast + alias Forge.Document + alias Forge.Project + alias Expert.Protocol.Types.Completion.Context, as: CompletionContext + alias Expert.Protocol.Types.Completion.Item, as: CompletionItem + alias Expert.Protocol.Types.Completion.List, as: CompletionList + alias Engine + alias Expert + alias Expert.CodeIntelligence.Completion + alias Forge.Test.CodeSigil use ExUnit.CaseTemplate - import Lexical.Test.CursorSupport - import Lexical.Test.Fixtures - import RemoteControl.Api.Messages + import Forge.Test.CursorSupport + import Engine.Test.Fixtures + import Engine.Api.Messages setup_all do project = project() - start_supervised!({DynamicSupervisor, Server.Project.Supervisor.options()}) - start_supervised!({Server.Project.Supervisor, project}) + start_supervised!({DynamicSupervisor, Expert.Project.Supervisor.options()}) + start_supervised!({Expert.Project.Supervisor, project}) - RemoteControl.Api.register_listener(project, self(), [ + Engine.Api.register_listener(project, self(), [ project_compiled(), project_index_ready() ]) - RemoteControl.Api.schedule_compile(project, true) + Engine.Api.schedule_compile(project, true) assert_receive project_compiled(), 5000 assert_receive project_index_ready(), 5000 {:ok, project: project} diff --git a/apps/server/test/support/lexical/test/dispatch_fake.ex b/apps/expert/test/support/test/dispatch_fake.ex similarity index 65% rename from apps/server/test/support/lexical/test/dispatch_fake.ex rename to apps/expert/test/support/test/dispatch_fake.ex index 9090e416..0ee0ce7b 100644 --- a/apps/server/test/support/lexical/test/dispatch_fake.ex +++ b/apps/expert/test/support/test/dispatch_fake.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Test.DispatchFake do - alias Lexical.RemoteControl - alias Lexical.RemoteControl.Dispatch +defmodule Expert.Test.DispatchFake do + alias Engine + alias Engine.Dispatch defmacro __using__(_) do quote do @@ -13,11 +13,11 @@ defmodule Lexical.Test.DispatchFake do # does that for us. defmacro start do quote do - patch(RemoteControl.Api, :register_listener, fn _project, listener_pid, message_types -> + patch(Engine.Api, :register_listener, fn _project, listener_pid, message_types -> Dispatch.register_listener(listener_pid, message_types) end) - patch(RemoteControl.Api, :broadcast, fn _project, message -> + patch(Engine.Api, :broadcast, fn _project, message -> Dispatch.broadcast(message) end) diff --git a/apps/expert/test/support/transport/no_op.ex b/apps/expert/test/support/transport/no_op.ex new file mode 100644 index 00000000..e9515833 --- /dev/null +++ b/apps/expert/test/support/transport/no_op.ex @@ -0,0 +1,5 @@ +defmodule Expert.Test.Transport.NoOp do + @behaviour Expert.Transport + + def write(_message), do: :ok +end diff --git a/apps/server/test/test_helper.exs b/apps/expert/test/test_helper.exs similarity index 100% rename from apps/server/test/test_helper.exs rename to apps/expert/test/test_helper.exs diff --git a/apps/server/.credo.exs b/apps/expert_credo/.credo.exs similarity index 100% rename from apps/server/.credo.exs rename to apps/expert_credo/.credo.exs diff --git a/apps/remote_control/test/fixtures/umbrella/apps/second/.formatter.exs b/apps/expert_credo/.formatter.exs similarity index 100% rename from apps/remote_control/test/fixtures/umbrella/apps/second/.formatter.exs rename to apps/expert_credo/.formatter.exs diff --git a/apps/lexical_credo/.gitignore b/apps/expert_credo/.gitignore similarity index 96% rename from apps/lexical_credo/.gitignore rename to apps/expert_credo/.gitignore index 6943771a..398ef6e2 100644 --- a/apps/lexical_credo/.gitignore +++ b/apps/expert_credo/.gitignore @@ -20,7 +20,7 @@ erl_crash.dump *.ez # Ignore package tarball (built via "mix hex.build"). -lexical_credo-*.tar +expert_credo-*.tar # Temporary files, for example, from tests. /tmp/ diff --git a/apps/lexical_credo/LICENSE b/apps/expert_credo/LICENSE similarity index 100% rename from apps/lexical_credo/LICENSE rename to apps/expert_credo/LICENSE diff --git a/apps/lexical_credo/README.md b/apps/expert_credo/README.md similarity index 66% rename from apps/lexical_credo/README.md rename to apps/expert_credo/README.md index eabc9df9..47ca71ff 100644 --- a/apps/lexical_credo/README.md +++ b/apps/expert_credo/README.md @@ -1,26 +1,26 @@ -# Lexical Credo - A Lexical plugin that enables credo checks +# Expert Credo - An Expert plugin that enables credo checks -This is a plugin to lexical (our first) that enables [Credo](https://github.com/rrrene/credo) to +This is a plugin to expert (our first) that enables [Credo](https://github.com/rrrene/credo) to run whenever you type. Now you can immediately see and address any issues that credo flags when you make them. -It's essential to have this as a test dependency, as lexical runs your code in test mode by default. +It's essential to have this as a test dependency, as expert runs your code in test mode by default. ## Installation ```elixir def deps do [ - {:lexical_credo, "~> 0.1.0", only: [:dev, :test]} + {:expert_credo, "~> 0.1.0", only: [:dev, :test]} ] end ``` -When starting lexical, you should see the following in your `project.log` file in the project's `.lexical` +When starting expert, you should see the following in your `project.log` file in the project's `.expert` directory: ``` -info: Loaded [:lexical_credo] +info: Loaded [:expert_credo] ``` Once you see that, you should start seeing Credo diagnostics in your editor. diff --git a/apps/lexical_credo/lib/lexical_credo.ex b/apps/expert_credo/lib/expert_credo.ex similarity index 93% rename from apps/lexical_credo/lib/lexical_credo.ex rename to apps/expert_credo/lib/expert_credo.ex index c042b0b2..f62febe5 100644 --- a/apps/lexical_credo/lib/lexical_credo.ex +++ b/apps/expert_credo/lib/expert_credo.ex @@ -1,11 +1,11 @@ -defmodule LexicalCredo do +defmodule ExpertCredo do @moduledoc false - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic - alias Lexical.Project + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic + alias Forge.Project - use Diagnostic, name: :lexical_credo + use Diagnostic, name: :expert_credo require Logger @doc false diff --git a/apps/lexical_credo/mix.exs b/apps/expert_credo/mix.exs similarity index 81% rename from apps/lexical_credo/mix.exs rename to apps/expert_credo/mix.exs index 28ac08ff..8df35506 100644 --- a/apps/lexical_credo/mix.exs +++ b/apps/expert_credo/mix.exs @@ -1,12 +1,12 @@ -defmodule LexicalCredo.MixProject do +defmodule ExpertCredo.MixProject do use Mix.Project Code.require_file("../../mix_dialyzer.exs") - @repo_url "https://github.com/lexical-lsp/lexical/" + @repo_url "https://github.com/elixir-lang/expert/" @version "0.5.0" def project do [ - app: :lexical_credo, + app: :expert_credo, version: @version, elixir: "~> 1.15", start_permanent: Mix.env() == :prod, @@ -20,14 +20,14 @@ defmodule LexicalCredo.MixProject do def application do [ extra_applications: [:logger], - env: [lexical_plugin: true] + env: [expert_plugin: true] ] end # Run "mix help deps" to learn about dependencies. defp deps do [ - {:common, path: "../common", env: Mix.env()}, + {:forge, path: "../forge", env: Mix.env()}, {:credo, "> 0.0.0", only: [:dev, :test]}, Mix.Dialyzer.dependency(), {:jason, "> 0.0.0", optional: true}, diff --git a/apps/lexical_credo/mix.lock b/apps/expert_credo/mix.lock similarity index 100% rename from apps/lexical_credo/mix.lock rename to apps/expert_credo/mix.lock diff --git a/apps/lexical_credo/test/lexical_credo_test.exs b/apps/expert_credo/test/expert_credo_test.exs similarity index 84% rename from apps/lexical_credo/test/lexical_credo_test.exs rename to apps/expert_credo/test/expert_credo_test.exs index 3e497451..0a94e7e2 100644 --- a/apps/lexical_credo/test/lexical_credo_test.exs +++ b/apps/expert_credo/test/expert_credo_test.exs @@ -1,8 +1,8 @@ -defmodule LexicalCredoTest do - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic.Result +defmodule ExpertCredoTest do + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic.Result - import LexicalCredo + import ExpertCredo use ExUnit.Case setup_all do diff --git a/apps/lexical_credo/test/test_helper.exs b/apps/expert_credo/test/test_helper.exs similarity index 100% rename from apps/lexical_credo/test/test_helper.exs rename to apps/expert_credo/test/test_helper.exs diff --git a/apps/common/.credo.exs b/apps/forge/.credo.exs similarity index 100% rename from apps/common/.credo.exs rename to apps/forge/.credo.exs diff --git a/apps/common/.formatter.exs b/apps/forge/.formatter.exs similarity index 94% rename from apps/common/.formatter.exs rename to apps/forge/.formatter.exs index 92005875..a2d1d585 100644 --- a/apps/common/.formatter.exs +++ b/apps/forge/.formatter.exs @@ -19,7 +19,7 @@ assertions = eventual_assertions ++ detected_assertions inputs: [ "{mix,.formatter}.exs", "{config,test}/**/*.{ex,exs}", - "lib/lexical/**/*.{ex,ex}", + "lib/forge/**/*.{ex,ex}", "lib/mix/**/*.{ex,exs}" ], locals_without_parens: assertions, diff --git a/apps/remote_control/.gitignore b/apps/forge/.gitignore similarity index 96% rename from apps/remote_control/.gitignore rename to apps/forge/.gitignore index 1e24e82d..848aea9f 100644 --- a/apps/remote_control/.gitignore +++ b/apps/forge/.gitignore @@ -20,7 +20,7 @@ erl_crash.dump *.ez # Ignore package tarball (built via "mix hex.build"). -remote_control-*.tar +forge-*.tar # Temporary files, for example, from tests. /tmp/ diff --git a/apps/common/README.md b/apps/forge/README.md similarity index 100% rename from apps/common/README.md rename to apps/forge/README.md diff --git a/apps/common/benchmarks/snowflake_bench.exs b/apps/forge/benchmarks/snowflake_bench.exs similarity index 100% rename from apps/common/benchmarks/snowflake_bench.exs rename to apps/forge/benchmarks/snowflake_bench.exs diff --git a/apps/common/config/config.exs b/apps/forge/config/config.exs similarity index 100% rename from apps/common/config/config.exs rename to apps/forge/config/config.exs diff --git a/apps/common/lib/elixir/features.ex b/apps/forge/lib/elixir/features.ex similarity index 97% rename from apps/common/lib/elixir/features.ex rename to apps/forge/lib/elixir/features.ex index e9e984b2..e9cfee0f 100644 --- a/apps/common/lib/elixir/features.ex +++ b/apps/forge/lib/elixir/features.ex @@ -1,5 +1,5 @@ defmodule Elixir.Features do - alias Lexical.VM.Versions + alias Forge.VM.Versions def with_diagnostics? do function_exported?(Code, :with_diagnostics, 1) diff --git a/apps/forge/lib/forge.ex b/apps/forge/lib/forge.ex new file mode 100644 index 00000000..403999ee --- /dev/null +++ b/apps/forge/lib/forge.ex @@ -0,0 +1,21 @@ +defmodule Forge do + @moduledoc """ + Common data structures and utilities for the Expert Language Server. + + If you're building a plugin, You're probably going to want to look at the documentation + for core data structures like + + `Forge.Project` - The Expert project structure + + `Forge.Document` - A text document, given to you by the language server + + `Forge.Document.Position` - A position inside a document + + `Forge.Document.Range` - A range of text inside a document + """ + @typedoc "A string representation of a uri" + @type uri :: String.t() + + @typedoc "A string representation of a path on the filesystem" + @type path :: String.t() +end diff --git a/apps/common/lib/lexical/ast.ex b/apps/forge/lib/forge/ast.ex similarity index 97% rename from apps/common/lib/lexical/ast.ex rename to apps/forge/lib/forge/ast.ex index cd1db8e5..b8d2d4f7 100644 --- a/apps/common/lib/lexical/ast.ex +++ b/apps/forge/lib/forge/ast.ex @@ -1,11 +1,11 @@ -defmodule Lexical.Ast do +defmodule Forge.Ast do @moduledoc """ - Utilities for analyzing Lexical documents as syntax trees. + Utilities for analyzing Expert documents as syntax trees. ## Analysis The preferred way to use this module is by first passing a document to - `analyze/1`, which returns a `%Lexical.Ast.Analysis{}` struct that + `analyze/1`, which returns a `%Forge.Ast.Analysis{}` struct that will have already parsed and analyzed a significant portion of the document, thus reducing the cost of successive operations. @@ -17,7 +17,7 @@ defmodule Lexical.Ast do ## Differences from `Code` - This module includes functions for parsing documents (`t:Lexical.Document/0`) + This module includes functions for parsing documents (`t:Forge.Document/0`) and strings into AST's that can be used with the `Sourceror` API and include some additional metadata. @@ -39,9 +39,9 @@ defmodule Lexical.Ast do iex> list_with_tuple_syntax |> Code.string_to_quoted() {:ok, [foo: :bar]} - In contrast, `Lexical.Ast.from/1` does: + In contrast, `Forge.Ast.from/1` does: - iex> list_with_kw_syntax |> Lexical.Ast.from() + iex> list_with_kw_syntax |> Forge.Ast.from() {:ok, {:__block__, [closing: [line: 1, column: 11], line: 1, column: 1], [ @@ -51,7 +51,7 @@ defmodule Lexical.Ast do ] ]}} - iex> list_with_tuple_syntax |> Lexical.Ast.from() + iex> list_with_tuple_syntax |> Forge.Ast.from() {:ok, {:__block__, [closing: [line: 1, column: 14], line: 1, column: 1], [ @@ -67,11 +67,11 @@ defmodule Lexical.Ast do """ alias Future.Code, as: Code - alias Lexical.Ast.Analysis - alias Lexical.Document - alias Lexical.Document.Edit - alias Lexical.Document.Position - alias Lexical.Document.Range + alias Forge.Ast.Analysis + alias Forge.Document + alias Forge.Document.Edit + alias Forge.Document.Position + alias Forge.Document.Range alias Sourceror.Zipper require Logger diff --git a/apps/common/lib/lexical/ast/analysis.ex b/apps/forge/lib/forge/ast/analysis.ex similarity index 97% rename from apps/common/lib/lexical/ast/analysis.ex rename to apps/forge/lib/forge/ast/analysis.ex index 9d87a043..e2ecd2a8 100644 --- a/apps/common/lib/lexical/ast/analysis.ex +++ b/apps/forge/lib/forge/ast/analysis.ex @@ -1,20 +1,20 @@ -defmodule Lexical.Ast.Analysis do +defmodule Forge.Ast.Analysis do @moduledoc """ A data structure representing an analyzed AST. - See `Lexical.Ast.analyze/1`. + See `Forge.Ast.analyze/1`. """ - alias Lexical.Ast.Analysis.Alias - alias Lexical.Ast.Analysis.Import - alias Lexical.Ast.Analysis.Require - alias Lexical.Ast.Analysis.Scope - alias Lexical.Ast.Analysis.State - alias Lexical.Ast.Analysis.Use - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.Identifier + alias Forge.Ast.Analysis.Alias + alias Forge.Ast.Analysis.Import + alias Forge.Ast.Analysis.Require + alias Forge.Ast.Analysis.Scope + alias Forge.Ast.Analysis.State + alias Forge.Ast.Analysis.Use + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.Identifier alias Sourceror.Zipper defstruct [:ast, :document, :parse_error, scopes: [], comments_by_line: %{}, valid?: true] diff --git a/apps/common/lib/lexical/ast/analysis/alias.ex b/apps/forge/lib/forge/ast/analysis/alias.ex similarity index 91% rename from apps/common/lib/lexical/ast/analysis/alias.ex rename to apps/forge/lib/forge/ast/analysis/alias.ex index 4e9ecf62..ca46f60b 100644 --- a/apps/common/lib/lexical/ast/analysis/alias.ex +++ b/apps/forge/lib/forge/ast/analysis/alias.ex @@ -1,8 +1,8 @@ -defmodule Lexical.Ast.Analysis.Alias do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Document.Range +defmodule Forge.Ast.Analysis.Alias do + alias Forge.Ast + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range defstruct [:module, :as, :range, explicit?: true] diff --git a/apps/common/lib/lexical/ast/analysis/import.ex b/apps/forge/lib/forge/ast/analysis/import.ex similarity index 95% rename from apps/common/lib/lexical/ast/analysis/import.ex rename to apps/forge/lib/forge/ast/analysis/import.ex index 1be02a54..d541cf2b 100644 --- a/apps/common/lib/lexical/ast/analysis/import.ex +++ b/apps/forge/lib/forge/ast/analysis/import.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Analysis.Import do - alias Lexical.Ast - alias Lexical.Document - alias Lexical.Document.Range +defmodule Forge.Ast.Analysis.Import do + alias Forge.Ast + alias Forge.Document + alias Forge.Document.Range defstruct module: nil, selector: :all, range: nil, explicit?: true diff --git a/apps/common/lib/lexical/ast/analysis/require.ex b/apps/forge/lib/forge/ast/analysis/require.ex similarity index 72% rename from apps/common/lib/lexical/ast/analysis/require.ex rename to apps/forge/lib/forge/ast/analysis/require.ex index 190cbe7d..9d0240f0 100644 --- a/apps/common/lib/lexical/ast/analysis/require.ex +++ b/apps/forge/lib/forge/ast/analysis/require.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Ast.Analysis.Require do - alias Lexical.Ast - alias Lexical.Document +defmodule Forge.Ast.Analysis.Require do + alias Forge.Ast + alias Forge.Document defstruct [:module, :as, :range] def new(%Document{} = document, ast, module, as \\ nil) when is_list(module) do diff --git a/apps/common/lib/lexical/ast/analysis/scope.ex b/apps/forge/lib/forge/ast/analysis/scope.ex similarity index 93% rename from apps/common/lib/lexical/ast/analysis/scope.ex rename to apps/forge/lib/forge/ast/analysis/scope.ex index 26f9ebd2..6304127c 100644 --- a/apps/common/lib/lexical/ast/analysis/scope.ex +++ b/apps/forge/lib/forge/ast/analysis/scope.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Analysis.Scope do - alias Lexical.Ast.Analysis.Alias - alias Lexical.Document.Position - alias Lexical.Document.Range +defmodule Forge.Ast.Analysis.Scope do + alias Forge.Ast.Analysis.Alias + alias Forge.Document.Position + alias Forge.Document.Range defstruct [ :id, diff --git a/apps/common/lib/lexical/ast/analysis/state.ex b/apps/forge/lib/forge/ast/analysis/state.ex similarity index 93% rename from apps/common/lib/lexical/ast/analysis/state.ex rename to apps/forge/lib/forge/ast/analysis/state.ex index 49f315bf..5972d3ad 100644 --- a/apps/common/lib/lexical/ast/analysis/state.ex +++ b/apps/forge/lib/forge/ast/analysis/state.ex @@ -1,13 +1,13 @@ -defmodule Lexical.Ast.Analysis.State do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Analysis.Alias - alias Lexical.Ast.Analysis.Import - alias Lexical.Ast.Analysis.Require - alias Lexical.Ast.Analysis.Scope - alias Lexical.Ast.Analysis.Use - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Document.Range +defmodule Forge.Ast.Analysis.State do + alias Forge.Ast.Analysis + alias Forge.Ast.Analysis.Alias + alias Forge.Ast.Analysis.Import + alias Forge.Ast.Analysis.Require + alias Forge.Ast.Analysis.Scope + alias Forge.Ast.Analysis.Use + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range defstruct [:document, scopes: [], visited: %{}] diff --git a/apps/common/lib/lexical/ast/analysis/use.ex b/apps/forge/lib/forge/ast/analysis/use.ex similarity index 70% rename from apps/common/lib/lexical/ast/analysis/use.ex rename to apps/forge/lib/forge/ast/analysis/use.ex index e98c1045..7891e0f1 100644 --- a/apps/common/lib/lexical/ast/analysis/use.ex +++ b/apps/forge/lib/forge/ast/analysis/use.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Ast.Analysis.Use do - alias Lexical.Ast - alias Lexical.Document +defmodule Forge.Ast.Analysis.Use do + alias Forge.Ast + alias Forge.Document defstruct [:module, :range, :opts] def new(%Document{} = document, ast, module, opts) do diff --git a/apps/common/lib/lexical/ast/detection.ex b/apps/forge/lib/forge/ast/detection.ex similarity index 95% rename from apps/common/lib/lexical/ast/detection.ex rename to apps/forge/lib/forge/ast/detection.ex index b248b928..9b64fee3 100644 --- a/apps/common/lib/lexical/ast/detection.ex +++ b/apps/forge/lib/forge/ast/detection.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Ast.Detection do +defmodule Forge.Ast.Detection do @moduledoc """ A behavior for context detection @@ -8,10 +8,10 @@ defmodule Lexical.Ast.Detection do Note: a given context might be detected by more than one module. """ - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Document.Position - alias Lexical.Document.Range + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Document.Position + alias Forge.Document.Range @doc """ Returns true if the given position is detected by the current module diff --git a/apps/common/lib/lexical/ast/detection/alias.ex b/apps/forge/lib/forge/ast/detection/alias.ex similarity index 92% rename from apps/common/lib/lexical/ast/detection/alias.ex rename to apps/forge/lib/forge/ast/detection/alias.ex index 72cac9ef..0ba863a0 100644 --- a/apps/common/lib/lexical/ast/detection/alias.ex +++ b/apps/forge/lib/forge/ast/detection/alias.ex @@ -1,8 +1,8 @@ -defmodule Lexical.Ast.Detection.Alias do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Ast.Tokens - alias Lexical.Document.Position +defmodule Forge.Ast.Detection.Alias do + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Ast.Tokens + alias Forge.Document.Position use Detection diff --git a/apps/common/lib/lexical/ast/detection/bitstring.ex b/apps/forge/lib/forge/ast/detection/bitstring.ex similarity index 71% rename from apps/common/lib/lexical/ast/detection/bitstring.ex rename to apps/forge/lib/forge/ast/detection/bitstring.ex index a03bbef3..13f0d3b2 100644 --- a/apps/common/lib/lexical/ast/detection/bitstring.ex +++ b/apps/forge/lib/forge/ast/detection/bitstring.ex @@ -1,9 +1,9 @@ -defmodule Lexical.Ast.Detection.Bitstring do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Ast.Tokens - alias Lexical.Document - alias Lexical.Document.Position +defmodule Forge.Ast.Detection.Bitstring do + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Ast.Tokens + alias Forge.Document + alias Forge.Document.Position use Detection diff --git a/apps/common/lib/lexical/ast/detection/comment.ex b/apps/forge/lib/forge/ast/detection/comment.ex similarity index 53% rename from apps/common/lib/lexical/ast/detection/comment.ex rename to apps/forge/lib/forge/ast/detection/comment.ex index 743d1cb1..f3dd652c 100644 --- a/apps/common/lib/lexical/ast/detection/comment.ex +++ b/apps/forge/lib/forge/ast/detection/comment.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Ast.Detection.Comment do - alias Lexical.Ast.Analysis - alias Lexical.Document.Position +defmodule Forge.Ast.Detection.Comment do + alias Forge.Ast.Analysis + alias Forge.Document.Position def detected?(%Analysis{} = analysis, %Position{} = position) do Analysis.commented?(analysis, position) diff --git a/apps/common/lib/lexical/ast/detection/directive.ex b/apps/forge/lib/forge/ast/detection/directive.ex similarity index 73% rename from apps/common/lib/lexical/ast/detection/directive.ex rename to apps/forge/lib/forge/ast/detection/directive.ex index 76cde173..e0243d8e 100644 --- a/apps/common/lib/lexical/ast/detection/directive.ex +++ b/apps/forge/lib/forge/ast/detection/directive.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.Directive do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Tokens - alias Lexical.Document.Position +defmodule Forge.Ast.Detection.Directive do + alias Forge.Ast.Analysis + alias Forge.Ast.Tokens + alias Forge.Document.Position def detected?(%Analysis{} = analysis, %Position{} = position, directive_type) do analysis.document diff --git a/apps/common/lib/lexical/ast/detection/function_capture.ex b/apps/forge/lib/forge/ast/detection/function_capture.ex similarity index 78% rename from apps/common/lib/lexical/ast/detection/function_capture.ex rename to apps/forge/lib/forge/ast/detection/function_capture.ex index 25ef5006..85d5d726 100644 --- a/apps/common/lib/lexical/ast/detection/function_capture.ex +++ b/apps/forge/lib/forge/ast/detection/function_capture.ex @@ -1,8 +1,8 @@ -defmodule Lexical.Ast.Detection.FunctionCapture do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Ast.Tokens - alias Lexical.Document.Position +defmodule Forge.Ast.Detection.FunctionCapture do + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Ast.Tokens + alias Forge.Document.Position use Detection diff --git a/apps/forge/lib/forge/ast/detection/import.ex b/apps/forge/lib/forge/ast/detection/import.ex new file mode 100644 index 00000000..9684e75f --- /dev/null +++ b/apps/forge/lib/forge/ast/detection/import.ex @@ -0,0 +1,13 @@ +defmodule Forge.Ast.Detection.Import do + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Ast.Detection.Directive + alias Forge.Document.Position + + use Detection + + @impl Detection + def detected?(%Analysis{} = analysis, %Position{} = position) do + Directive.detected?(analysis, position, ~c"import") + end +end diff --git a/apps/common/lib/lexical/ast/detection/module_attribute.ex b/apps/forge/lib/forge/ast/detection/module_attribute.ex similarity index 67% rename from apps/common/lib/lexical/ast/detection/module_attribute.ex rename to apps/forge/lib/forge/ast/detection/module_attribute.ex index 32c3e0bf..38e128ce 100644 --- a/apps/common/lib/lexical/ast/detection/module_attribute.ex +++ b/apps/forge/lib/forge/ast/detection/module_attribute.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.ModuleAttribute do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Document.Position +defmodule Forge.Ast.Detection.ModuleAttribute do + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Document.Position use Detection diff --git a/apps/common/lib/lexical/ast/detection/pipe.ex b/apps/forge/lib/forge/ast/detection/pipe.ex similarity index 77% rename from apps/common/lib/lexical/ast/detection/pipe.ex rename to apps/forge/lib/forge/ast/detection/pipe.ex index f24f674b..8ca61f93 100644 --- a/apps/common/lib/lexical/ast/detection/pipe.ex +++ b/apps/forge/lib/forge/ast/detection/pipe.ex @@ -1,8 +1,8 @@ -defmodule Lexical.Ast.Detection.Pipe do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Ast.Tokens - alias Lexical.Document.Position +defmodule Forge.Ast.Detection.Pipe do + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Ast.Tokens + alias Forge.Document.Position use Detection diff --git a/apps/forge/lib/forge/ast/detection/require.ex b/apps/forge/lib/forge/ast/detection/require.ex new file mode 100644 index 00000000..f989f1ea --- /dev/null +++ b/apps/forge/lib/forge/ast/detection/require.ex @@ -0,0 +1,13 @@ +defmodule Forge.Ast.Detection.Require do + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Ast.Detection.Directive + alias Forge.Document.Position + + use Detection + + @impl Detection + def detected?(%Analysis{} = analysis, %Position{} = position) do + Directive.detected?(analysis, position, ~c"require") + end +end diff --git a/apps/common/lib/lexical/ast/detection/spec.ex b/apps/forge/lib/forge/ast/detection/spec.ex similarity index 53% rename from apps/common/lib/lexical/ast/detection/spec.ex rename to apps/forge/lib/forge/ast/detection/spec.ex index 20309e8a..7503a79a 100644 --- a/apps/common/lib/lexical/ast/detection/spec.ex +++ b/apps/forge/lib/forge/ast/detection/spec.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.Spec do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Document.Position +defmodule Forge.Ast.Detection.Spec do + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Document.Position use Detection diff --git a/apps/common/lib/lexical/ast/detection/string.ex b/apps/forge/lib/forge/ast/detection/string.ex similarity index 91% rename from apps/common/lib/lexical/ast/detection/string.ex rename to apps/forge/lib/forge/ast/detection/string.ex index abfb5133..adfeda6d 100644 --- a/apps/common/lib/lexical/ast/detection/string.ex +++ b/apps/forge/lib/forge/ast/detection/string.ex @@ -1,10 +1,10 @@ -defmodule Lexical.Ast.Detection.String do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Document.Position - alias Lexical.Document.Position - alias Lexical.Document.Range +defmodule Forge.Ast.Detection.String do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Document.Position + alias Forge.Document.Position + alias Forge.Document.Range use Detection diff --git a/apps/common/lib/lexical/ast/detection/struct_field_key.ex b/apps/forge/lib/forge/ast/detection/struct_field_key.ex similarity index 73% rename from apps/common/lib/lexical/ast/detection/struct_field_key.ex rename to apps/forge/lib/forge/ast/detection/struct_field_key.ex index 31562c5f..4d3d2635 100644 --- a/apps/common/lib/lexical/ast/detection/struct_field_key.ex +++ b/apps/forge/lib/forge/ast/detection/struct_field_key.ex @@ -1,8 +1,8 @@ -defmodule Lexical.Ast.Detection.StructFieldKey do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Document.Position +defmodule Forge.Ast.Detection.StructFieldKey do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Document.Position use Detection diff --git a/apps/forge/lib/forge/ast/detection/struct_field_value.ex b/apps/forge/lib/forge/ast/detection/struct_field_value.ex new file mode 100644 index 00000000..3584190e --- /dev/null +++ b/apps/forge/lib/forge/ast/detection/struct_field_value.ex @@ -0,0 +1,11 @@ +defmodule Forge.Ast.Detection.StructFieldValue do + alias Forge.Ast.Analysis + alias Forge.Ast.Detection.StructFieldKey + alias Forge.Ast.Detection.StructFields + alias Forge.Document.Position + + def detected?(%Analysis{} = analysis, %Position{} = position) do + StructFields.detected?(analysis, position) and + not StructFieldKey.detected?(analysis, position) + end +end diff --git a/apps/common/lib/lexical/ast/detection/struct_fields.ex b/apps/forge/lib/forge/ast/detection/struct_fields.ex similarity index 56% rename from apps/common/lib/lexical/ast/detection/struct_fields.ex rename to apps/forge/lib/forge/ast/detection/struct_fields.ex index 5239e9a6..a1bfb8b8 100644 --- a/apps/common/lib/lexical/ast/detection/struct_fields.ex +++ b/apps/forge/lib/forge/ast/detection/struct_fields.ex @@ -1,8 +1,8 @@ -defmodule Lexical.Ast.Detection.StructFields do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Document.Position +defmodule Forge.Ast.Detection.StructFields do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Document.Position use Detection diff --git a/apps/common/lib/lexical/ast/detection/struct_reference.ex b/apps/forge/lib/forge/ast/detection/struct_reference.ex similarity index 83% rename from apps/common/lib/lexical/ast/detection/struct_reference.ex rename to apps/forge/lib/forge/ast/detection/struct_reference.ex index 2b5b86da..2deec733 100644 --- a/apps/common/lib/lexical/ast/detection/struct_reference.ex +++ b/apps/forge/lib/forge/ast/detection/struct_reference.ex @@ -1,9 +1,9 @@ -defmodule Lexical.Ast.Detection.StructReference do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Ast.Tokens - alias Lexical.Document.Position +defmodule Forge.Ast.Detection.StructReference do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Ast.Tokens + alias Forge.Document.Position use Detection diff --git a/apps/common/lib/lexical/ast/detection/type.ex b/apps/forge/lib/forge/ast/detection/type.ex similarity index 53% rename from apps/common/lib/lexical/ast/detection/type.ex rename to apps/forge/lib/forge/ast/detection/type.ex index 9dc9a55a..43ee1cbf 100644 --- a/apps/common/lib/lexical/ast/detection/type.ex +++ b/apps/forge/lib/forge/ast/detection/type.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.Type do - alias Lexical.Ast.Analysis - alias Lexical.Ast.Detection - alias Lexical.Document.Position +defmodule Forge.Ast.Detection.Type do + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Document.Position use Detection diff --git a/apps/forge/lib/forge/ast/detection/use.ex b/apps/forge/lib/forge/ast/detection/use.ex new file mode 100644 index 00000000..0057b112 --- /dev/null +++ b/apps/forge/lib/forge/ast/detection/use.ex @@ -0,0 +1,13 @@ +defmodule Forge.Ast.Detection.Use do + alias Forge.Ast.Analysis + alias Forge.Ast.Detection + alias Forge.Ast.Detection.Directive + alias Forge.Document.Position + + use Detection + + @impl Detection + def detected?(%Analysis{} = analysis, %Position{} = position) do + Directive.detected?(analysis, position, ~c"use") + end +end diff --git a/apps/common/lib/lexical/ast/env.ex b/apps/forge/lib/forge/ast/env.ex similarity index 96% rename from apps/common/lib/lexical/ast/env.ex rename to apps/forge/lib/forge/ast/env.ex index bd36c956..b25dcc5e 100644 --- a/apps/common/lib/lexical/ast/env.ex +++ b/apps/forge/lib/forge/ast/env.ex @@ -1,16 +1,16 @@ -defmodule Lexical.Ast.Env do +defmodule Forge.Ast.Env do @moduledoc """ Representation of the environment at a given position in a document. """ - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Ast.Analysis.Scope - alias Lexical.Ast.Detection - alias Lexical.Ast.Tokens - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Project + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Ast.Analysis.Scope + alias Forge.Ast.Detection + alias Forge.Ast.Tokens + alias Forge.Document + alias Forge.Document.Position + alias Forge.Project defstruct [ :project, diff --git a/apps/common/lib/lexical/ast/module.ex b/apps/forge/lib/forge/ast/module.ex similarity index 96% rename from apps/common/lib/lexical/ast/module.ex rename to apps/forge/lib/forge/ast/module.ex index ea424f22..0a4ad54d 100644 --- a/apps/common/lib/lexical/ast/module.ex +++ b/apps/forge/lib/forge/ast/module.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Ast.Module do +defmodule Forge.Ast.Module do @moduledoc """ Module utilities """ @@ -33,7 +33,7 @@ defmodule Lexical.Ast.Module do local module name is the last part of a module name ## Examples: - iex> local_name('Lexical.Ast.Module') + iex> local_name('Forge.Ast.Module') "Module" """ def local_name(entity) when is_list(entity) do diff --git a/apps/common/lib/lexical/ast/range.ex b/apps/forge/lib/forge/ast/range.ex similarity index 90% rename from apps/common/lib/lexical/ast/range.ex rename to apps/forge/lib/forge/ast/range.ex index cb3afd71..e5190d4f 100644 --- a/apps/common/lib/lexical/ast/range.ex +++ b/apps/forge/lib/forge/ast/range.ex @@ -1,10 +1,10 @@ -defmodule Lexical.Ast.Range do +defmodule Forge.Ast.Range do @moduledoc """ Utilities for extracting ranges from ast nodes """ - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Document.Range + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range @spec fetch(Macro.t(), Document.t()) :: {:ok, Range.t()} | :error def fetch(ast, %Document{} = document) do diff --git a/apps/common/lib/lexical/ast/tokens.ex b/apps/forge/lib/forge/ast/tokens.ex similarity index 98% rename from apps/common/lib/lexical/ast/tokens.ex rename to apps/forge/lib/forge/ast/tokens.ex index f8c3494c..2feb234c 100644 --- a/apps/common/lib/lexical/ast/tokens.ex +++ b/apps/forge/lib/forge/ast/tokens.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Ast.Tokens do - alias Lexical.Document - alias Lexical.Document.Position +defmodule Forge.Ast.Tokens do + alias Forge.Document + alias Forge.Document.Position @doc """ Returns a stream of tokens starting at the given position and working backwards through diff --git a/apps/common/lib/lexical/code_unit.ex b/apps/forge/lib/forge/code_unit.ex similarity index 99% rename from apps/common/lib/lexical/code_unit.ex rename to apps/forge/lib/forge/code_unit.ex index 63ef7ba5..ce2d67dc 100644 --- a/apps/common/lib/lexical/code_unit.ex +++ b/apps/forge/lib/forge/code_unit.ex @@ -1,4 +1,4 @@ -defmodule Lexical.CodeUnit do +defmodule Forge.CodeUnit do @moduledoc """ Code unit and offset conversions. diff --git a/apps/common/lib/lexical/convertible.ex b/apps/forge/lib/forge/convertible.ex similarity index 88% rename from apps/common/lib/lexical/convertible.ex rename to apps/forge/lib/forge/convertible.ex index affb74c0..3a58df3f 100644 --- a/apps/common/lib/lexical/convertible.ex +++ b/apps/forge/lib/forge/convertible.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Convertible.Helpers do +defmodule Forge.Convertible.Helpers do @moduledoc false - alias Lexical.Document + alias Forge.Document def apply(%{} = map, func) do result = @@ -83,7 +83,7 @@ defmodule Lexical.Convertible.Helpers do end end -defprotocol Lexical.Convertible do +defprotocol Forge.Convertible do @moduledoc """ A protocol that details conversions to and from Language Server idioms @@ -94,14 +94,14 @@ defprotocol Lexical.Convertible do UTF-16 code unit) offsets. If not handled centrally, this leads to a profusion of conversion code throughout the language server codebase. - That's where this protocol comes in. Using this protocol allows us to define native `Lexical.Document.Position` and - `Lexical.Document.Range` structs and have them automatically convert into their Language Server counterparts, centralizing + That's where this protocol comes in. Using this protocol allows us to define native `Forge.Document.Position` and + `Forge.Document.Range` structs and have them automatically convert into their Language Server counterparts, centralizing the conversion logic in a single pace. Note: You do not need to do conversions manually, If you define a new type, it is sufficient to implement this protocol for your new type """ - alias Lexical.Document + alias Forge.Document @fallback_to_any true @@ -133,9 +133,9 @@ defprotocol Lexical.Convertible do def to_lsp(t) end -defimpl Lexical.Convertible, for: List do - alias Lexical.Convertible - alias Lexical.Convertible.Helpers +defimpl Forge.Convertible, for: List do + alias Forge.Convertible + alias Forge.Convertible.Helpers def to_native(l, context_document) do case Helpers.apply(l, &Convertible.to_native/2, context_document) do @@ -152,9 +152,9 @@ defimpl Lexical.Convertible, for: List do end end -defimpl Lexical.Convertible, for: Map do - alias Lexical.Convertible - alias Lexical.Convertible.Helpers +defimpl Forge.Convertible, for: Map do + alias Forge.Convertible + alias Forge.Convertible.Helpers def to_native(map, context_document) do case Helpers.apply(map, &Convertible.to_native/2, context_document) do @@ -168,10 +168,10 @@ defimpl Lexical.Convertible, for: Map do end end -defimpl Lexical.Convertible, for: Any do - alias Lexical.Convertible - alias Lexical.Document - alias Lexical.Convertible.Helpers +defimpl Forge.Convertible, for: Any do + alias Forge.Convertible + alias Forge.Convertible.Helpers + alias Forge.Document def to_native(%_struct_module{} = struct, context_document) do context_document = Document.Container.context_document(struct, context_document) diff --git a/apps/common/lib/lexical/debug.ex b/apps/forge/lib/forge/debug.ex similarity index 85% rename from apps/common/lib/lexical/debug.ex rename to apps/forge/lib/forge/debug.ex index 82c6c2e0..0a0b5121 100644 --- a/apps/common/lib/lexical/debug.ex +++ b/apps/forge/lib/forge/debug.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Logging do +defmodule Forge.Logging do require Logger defmacro timed(label, do: block) do @@ -17,7 +17,7 @@ defmodule Lexical.Logging do elapsed_ms = elapsed_us / 1000 if elapsed_ms >= threshold_ms do - Logger.info("#{label} took #{Lexical.Formats.time(elapsed_us)}") + Logger.info("#{label} took #{Forge.Formats.time(elapsed_us)}") end result diff --git a/apps/common/lib/lexical/document.ex b/apps/forge/lib/forge/document.ex similarity index 93% rename from apps/common/lib/lexical/document.ex rename to apps/forge/lib/forge/document.ex index 3d5abe94..099826c5 100644 --- a/apps/common/lib/lexical/document.ex +++ b/apps/forge/lib/forge/document.ex @@ -1,20 +1,20 @@ -defmodule Lexical.Document do +defmodule Forge.Document do @moduledoc """ A representation of a LSP text document - A document is the fundamental data structure of the Lexical language server. + A document is the fundamental data structure of the Expert language server. All language server documents are represented and backed by documents, which provide functionality for fetching lines, applying changes, and tracking versions. """ - alias Lexical.Convertible - alias Lexical.Document.Edit - alias Lexical.Document.Line - alias Lexical.Document.Lines - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.Math + alias Forge.Convertible + alias Forge.Document.Edit + alias Forge.Document.Line + alias Forge.Document.Lines + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.Math - import Lexical.Document.Line + import Forge.Document.Line require Logger @@ -43,7 +43,7 @@ defmodule Lexical.Document do Creates a new document from a uri or path, the source code as a binary and the vewrsion. """ - @spec new(Lexical.path() | Lexical.uri(), String.t(), version()) :: t + @spec new(Forge.path() | Forge.uri(), String.t(), version()) :: t def new(maybe_uri, text, version, language_id \\ nil) do uri = DocumentPath.ensure_uri(maybe_uri) path = DocumentPath.from_uri(uri) @@ -77,7 +77,7 @@ defmodule Lexical.Document do @doc """ Marks the document file as dirty - This function is mainly used internally by lexical + This function is mainly used internally by expert """ @spec mark_dirty(t) :: t def mark_dirty(%__MODULE__{} = document) do @@ -87,7 +87,7 @@ defmodule Lexical.Document do @doc """ Marks the document file as clean - This function is mainly used internally by lexical + This function is mainly used internally by expert """ @spec mark_clean(t) :: t def mark_clean(%__MODULE__{} = document) do @@ -111,7 +111,7 @@ defmodule Lexical.Document do end @doc """ - Get the `Lexical>Document.Line` at the given index using `fetch` semantics. + Get the `Forge.Document.Line` at the given index using `fetch` semantics. This function is of limited utility, you probably want `fetch_text_at/2` instead. """ @@ -129,7 +129,7 @@ defmodule Lexical.Document do Builds a string that represents the text of the document from the two positions given. The from position, defaults to `:beginning` meaning the start of the document. Positions can be a `Document.Position.t` or anything that will convert to a position using - `Lexical.Convertible.to_native/2`. + `Forge.Convertible.to_native/2`. """ @spec fragment(t, fragment_position() | :beginning, fragment_position()) :: String.t() @spec fragment(t, fragment_position()) :: String.t() @@ -231,7 +231,7 @@ defmodule Lexical.Document do |> IO.iodata_to_binary() end - @spec language_id_from_path(Lexical.path()) :: String.t() + @spec language_id_from_path(Forge.path()) :: String.t() defp language_id_from_path(path) do case Path.extname(path) do ".ex" -> diff --git a/apps/common/lib/lexical/document/changes.ex b/apps/forge/lib/forge/document/changes.ex similarity index 86% rename from apps/common/lib/lexical/document/changes.ex rename to apps/forge/lib/forge/document/changes.ex index fc848452..2911dd80 100644 --- a/apps/common/lib/lexical/document/changes.ex +++ b/apps/forge/lib/forge/document/changes.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Document.Changes do +defmodule Forge.Document.Changes do @moduledoc """ - A `Lexical.Document.Container` for text edits. + A `Forge.Document.Container` for text edits. This struct is helpful if you need to express one or several text edits in an LSP response. It will convert cleanly into either a single `TextEdit` or a list of `TextEdit`s depending on @@ -10,9 +10,9 @@ defmodule Lexical.Document.Changes do doesn't have to be looked up (and possibly read off the filesystem) by the language server. """ defstruct [:document, :edits] - alias Lexical.Document + alias Forge.Document - use Lexical.StructAccess + use Forge.StructAccess @type edits :: Document.Edit.t() | [Document.Edit.t()] @type t :: %__MODULE__{ diff --git a/apps/common/lib/lexical/document/container.ex b/apps/forge/lib/forge/document/container.ex similarity index 88% rename from apps/common/lib/lexical/document/container.ex rename to apps/forge/lib/forge/document/container.ex index 52629295..1a9298ad 100644 --- a/apps/common/lib/lexical/document/container.ex +++ b/apps/forge/lib/forge/document/container.ex @@ -1,4 +1,4 @@ -defprotocol Lexical.Document.Container do +defprotocol Forge.Document.Container do @moduledoc """ A protocol used to find relevant documents in structs @@ -13,11 +13,11 @@ defprotocol Lexical.Document.Container do would _not_ need an implementation: ``` - %MyStruct{document: %Lexical.Document{}} + %MyStruct{document: %Forge.Document{}} %MyStruct{text_document: %{uri: "file:///path/to/document.ex"}} ``` """ - alias Lexical.Document + alias Forge.Document @fallback_to_any true @type maybe_context_document :: Document.t() | nil @@ -25,8 +25,8 @@ defprotocol Lexical.Document.Container do def context_document(t, parent_context_document) end -defimpl Lexical.Document.Container, for: Any do - alias Lexical.Document +defimpl Forge.Document.Container, for: Any do + alias Forge.Document def context_document(%{document: %Document{} = document}, _) do document diff --git a/apps/common/lib/lexical/document/edit.ex b/apps/forge/lib/forge/document/edit.ex similarity index 79% rename from apps/common/lib/lexical/document/edit.ex rename to apps/forge/lib/forge/document/edit.ex index 1ba85a17..545947eb 100644 --- a/apps/common/lib/lexical/document/edit.ex +++ b/apps/forge/lib/forge/document/edit.ex @@ -1,12 +1,12 @@ -defmodule Lexical.Document.Edit do +defmodule Forge.Document.Edit do @moduledoc """ A change to a document - A `Lexical.Document.Edit` represents a single change to a document. It contains + A `Forge.Document.Edit` represents a single change to a document. It contains the new text and a range where the edit applies. """ - alias Lexical.Document.Range - alias Lexical.StructAccess + alias Forge.Document.Range + alias Forge.StructAccess defstruct [:text, :range] diff --git a/apps/common/lib/lexical/document/line.ex b/apps/forge/lib/forge/document/line.ex similarity index 95% rename from apps/common/lib/lexical/document/line.ex rename to apps/forge/lib/forge/document/line.ex index 5abb6a83..8d9ea409 100644 --- a/apps/common/lib/lexical/document/line.ex +++ b/apps/forge/lib/forge/document/line.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Document.Line do +defmodule Forge.Document.Line do @moduledoc ~S""" A record representing a line of text in a document diff --git a/apps/common/lib/lexical/document/line_parser.ex b/apps/forge/lib/forge/document/line_parser.ex similarity index 96% rename from apps/common/lib/lexical/document/line_parser.ex rename to apps/forge/lib/forge/document/line_parser.ex index 2be20417..575d4711 100644 --- a/apps/common/lib/lexical/document/line_parser.ex +++ b/apps/forge/lib/forge/document/line_parser.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Document.LineParser do +defmodule Forge.Document.LineParser do @moduledoc """ - A parser that parses a binary into `Lexical.Document.Line` records. + A parser that parses a binary into `Forge.Document.Line` records. The approach taken by the parser is to first go through the binary to find out where the lines break, what their endings are and if the line is ascii. As we go through the @@ -12,7 +12,7 @@ defmodule Lexical.Document.LineParser do each byte is greater than 0 and less than 128. UTF-16 files won't be marked as ascii, which allows us to skip a lot of byte conversions later in the process. """ - import Lexical.Document.Line + import Forge.Document.Line # it's important that "\r\n" comes before \r here, otherwise the generated pattern # matches won't match. diff --git a/apps/common/lib/lexical/document/lines.ex b/apps/forge/lib/forge/document/lines.ex similarity index 92% rename from apps/common/lib/lexical/document/lines.ex rename to apps/forge/lib/forge/document/lines.ex index 9d266a67..a7994af8 100644 --- a/apps/common/lib/lexical/document/lines.ex +++ b/apps/forge/lib/forge/document/lines.ex @@ -1,11 +1,11 @@ -defmodule Lexical.Document.Lines do +defmodule Forge.Document.Lines do @moduledoc """ A hyper-optimized, line-based backing store for text documents """ - alias Lexical.Document.Line - alias Lexical.Document.LineParser + alias Forge.Document.Line + alias Forge.Document.LineParser - use Lexical.StructAccess + use Forge.StructAccess import Line @default_starting_index 1 @@ -88,9 +88,9 @@ defmodule Lexical.Document.Lines do end end -defimpl Inspect, for: Lexical.Document.Lines do - alias Lexical.Document.Lines - alias Lexical.Document.Line +defimpl Inspect, for: Forge.Document.Lines do + alias Forge.Document.Lines + alias Forge.Document.Line import Inspect.Algebra import Line @@ -130,8 +130,8 @@ defimpl Inspect, for: Lexical.Document.Lines do end end -defimpl Enumerable, for: Lexical.Document.Lines do - alias Lexical.Document.Lines +defimpl Enumerable, for: Forge.Document.Lines do + alias Forge.Document.Lines def count(%Lines{} = document) do {:ok, Lines.size(document)} diff --git a/apps/common/lib/lexical/document/location.ex b/apps/forge/lib/forge/document/location.ex similarity index 80% rename from apps/common/lib/lexical/document/location.ex rename to apps/forge/lib/forge/document/location.ex index 6db3d322..73d00d55 100644 --- a/apps/common/lib/lexical/document/location.ex +++ b/apps/forge/lib/forge/document/location.ex @@ -1,22 +1,22 @@ -defmodule Lexical.Document.Location do +defmodule Forge.Document.Location do @moduledoc """ A location in a document One of the fundamental LSP structures, this represents a subset of text in a document. - The location is bounded by the given range, and the document can be given as a `Lexical.Document` + The location is bounded by the given range, and the document can be given as a `Forge.Document` struct, or a uri referencing the document """ - alias Lexical.Document - alias Lexical.Document.Range + alias Forge.Document + alias Forge.Document.Range defstruct [:range, :document, :uri] @type t :: %__MODULE__{ range: Range.t(), document: Document.t() | nil, - uri: Lexical.uri() + uri: Forge.uri() } - use Lexical.StructAccess + use Forge.StructAccess @spec new(Range.t(), Document.t() | String.t()) :: t() def new(%Range{} = range, %Document{} = document) do @@ -34,7 +34,7 @@ defmodule Lexical.Document.Location do @doc """ Returns the location document's uri. """ - @spec uri(t) :: Lexical.uri() + @spec uri(t) :: Forge.uri() def uri(%__MODULE__{} = location) do location.uri end diff --git a/apps/common/lib/lexical/document/path.ex b/apps/forge/lib/forge/document/path.ex similarity index 95% rename from apps/common/lib/lexical/document/path.ex rename to apps/forge/lib/forge/document/path.ex index 0412bb26..f0ecc120 100644 --- a/apps/common/lib/lexical/document/path.ex +++ b/apps/forge/lib/forge/document/path.ex @@ -1,15 +1,15 @@ -defmodule Lexical.Document.Path do +defmodule Forge.Document.Path do @moduledoc """ A collection of functions dealing with converting filesystem paths to URIs and back """ @file_scheme "file" - @type uri_or_path :: Lexical.uri() | Lexical.path() + @type uri_or_path :: Forge.uri() | Forge.path() @doc """ Given a uri or a path, either return the uri unmodified or converts the path to a uri """ - @spec ensure_uri(uri_or_path()) :: Lexical.uri() + @spec ensure_uri(uri_or_path()) :: Forge.uri() def ensure_uri("file://" <> _ = uri), do: uri def ensure_uri("untitled:" <> _ = uri), do: uri @@ -19,7 +19,7 @@ defmodule Lexical.Document.Path do @doc """ Given a uri or a path, either return the path unmodified or converts the uri to a path """ - @spec ensure_path(uri_or_path()) :: Lexical.path() + @spec ensure_path(uri_or_path()) :: Forge.path() def ensure_path("file://" <> _ = uri), do: from_uri(uri) def ensure_path(path) when is_binary(path), do: path diff --git a/apps/common/lib/lexical/document/position.ex b/apps/forge/lib/forge/document/position.ex similarity index 87% rename from apps/common/lib/lexical/document/position.ex rename to apps/forge/lib/forge/document/position.ex index 86c9990e..562a39c7 100644 --- a/apps/common/lib/lexical/document/position.ex +++ b/apps/forge/lib/forge/document/position.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Document.Position do +defmodule Forge.Document.Position do @moduledoc """ A position inside of a document @@ -7,13 +7,13 @@ defmodule Lexical.Document.Position do are inclusive of the given character. Given the following line of text: - "Hello there, welcome to lexical" + "Hello there, welcome to Forge" - the position: `%Lexical.Document.Position{line: 1, character: 1}` starts before the "H" in "Hello" + the position: `%Forge.Document.Position{line: 1, character: 1}` starts before the "H" in "Hello" """ - alias Lexical.Document - alias Lexical.Document.Lines + alias Forge.Document + alias Forge.Document.Lines defstruct [ :line, @@ -37,7 +37,7 @@ defmodule Lexical.Document.Position do valid?: boolean() } - use Lexical.StructAccess + use Forge.StructAccess @spec new(line_container(), line(), character()) :: t def new(%Document{} = document, line, character) @@ -100,17 +100,17 @@ defmodule Lexical.Document.Position do end end -defimpl Inspect, for: Lexical.Document.Position do +defimpl Inspect, for: Forge.Document.Position do import Inspect.Algebra def inspect(nil, _), do: "nil" def inspect(pos, _) do - concat(["LxPos", to_string(pos)]) + concat(["XpPos", to_string(pos)]) end end -defimpl String.Chars, for: Lexical.Document.Position do +defimpl String.Chars, for: Forge.Document.Position do def to_string(pos) do "<<#{pos.line}, #{pos.character}>>" end diff --git a/apps/common/lib/lexical/document/range.ex b/apps/forge/lib/forge/document/range.ex similarity index 87% rename from apps/common/lib/lexical/document/range.ex rename to apps/forge/lib/forge/document/range.ex index e3ee4119..8e4e9791 100644 --- a/apps/common/lib/lexical/document/range.ex +++ b/apps/forge/lib/forge/document/range.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Document.Range do +defmodule Forge.Document.Range do @moduledoc """ A range in a document @@ -16,7 +16,7 @@ defmodule Lexical.Document.Range do ) ``` """ - alias Lexical.Document.Position + alias Forge.Document.Position defstruct start: nil, end: nil @@ -25,7 +25,7 @@ defmodule Lexical.Document.Range do end: Position.t() } - use Lexical.StructAccess + use Forge.StructAccess @doc """ Builds a new range. @@ -56,10 +56,10 @@ defmodule Lexical.Document.Range do end end -defimpl Inspect, for: Lexical.Document.Range do +defimpl Inspect, for: Forge.Document.Range do import Inspect.Algebra def inspect(range, _) do - concat(["LxRange[", to_string(range.start), "...", to_string(range.end), "]"]) + concat(["XpRange[", to_string(range.start), "...", to_string(range.end), "]"]) end end diff --git a/apps/common/lib/lexical/document/store.ex b/apps/forge/lib/forge/document/store.ex similarity index 87% rename from apps/common/lib/lexical/document/store.ex rename to apps/forge/lib/forge/document/store.ex index d305ba35..70dfe144 100644 --- a/apps/common/lib/lexical/document/store.ex +++ b/apps/forge/lib/forge/document/store.ex @@ -1,10 +1,10 @@ -defmodule Lexical.Document.Store do +defmodule Forge.Document.Store do @moduledoc """ Backing store for source file documents. """ - alias Lexical.Document - alias Lexical.ProcessCache + alias Forge.Document + alias Forge.ProcessCache use GenServer @@ -22,8 +22,8 @@ defmodule Lexical.Document.Store do defmodule State do @moduledoc false - alias Lexical.Document - alias Lexical.Document.Store + alias Forge.Document + alias Forge.Document.Store require Logger @@ -52,7 +52,7 @@ defmodule Lexical.Document.Store do %__MODULE__{derivation_funs: Map.new(derivation_funs)} end - @spec fetch(t, Lexical.uri()) :: {:ok, Document.t(), t} | {:error, :not_open} + @spec fetch(t, Forge.uri()) :: {:ok, Document.t(), t} | {:error, :not_open} def fetch(%__MODULE__{} = store, uri) do case store.open do %{^uri => open_doc(document: document)} -> {:ok, document, store} @@ -60,7 +60,7 @@ defmodule Lexical.Document.Store do end end - @spec fetch(t, Lexical.uri(), Store.derivation_key()) :: + @spec fetch(t, Forge.uri(), Store.derivation_key()) :: {:ok, Document.t(), Store.derived_value(), t} | {:error, :not_open} def fetch(%__MODULE__{} = store, uri, key) do case store.open do @@ -78,7 +78,7 @@ defmodule Lexical.Document.Store do end end - @spec save(t, Lexical.uri()) :: {:ok, t} | {:error, :not_open} + @spec save(t, Forge.uri()) :: {:ok, t} | {:error, :not_open} def save(%__MODULE__{} = store, uri) do case store.open do %{^uri => open_doc(document: document, derived: derived)} -> @@ -91,7 +91,7 @@ defmodule Lexical.Document.Store do end end - @spec open(t, Lexical.uri(), String.t(), pos_integer(), String.t()) :: + @spec open(t, Forge.uri(), String.t(), pos_integer(), String.t()) :: {:ok, t} | {:error, :already_open} def open(%__MODULE__{temporary_open_refs: refs} = store, uri, text, version, language_id) when is_map_key(refs, uri) do @@ -115,12 +115,12 @@ defmodule Lexical.Document.Store do end end - @spec open?(t, Lexical.uri()) :: boolean + @spec open?(t, Forge.uri()) :: boolean def open?(%__MODULE__{} = store, uri) do Map.has_key?(store.open, uri) end - @spec close(t, Lexical.uri()) :: {:ok, t} | {:error, :not_open} + @spec close(t, Forge.uri()) :: {:ok, t} | {:error, :not_open} def close(%__MODULE__{} = store, uri) do case pop_open_doc(store, uri) do {nil, _} -> @@ -131,7 +131,7 @@ defmodule Lexical.Document.Store do end end - @spec get_and_update(t, Lexical.uri(), Store.updater()) :: + @spec get_and_update(t, Forge.uri(), Store.updater()) :: {:ok, Document.t(), t} | {:error, any()} def get_and_update(%__MODULE__{} = store, uri, updater_fn) do with {:ok, open_doc(document: document)} <- Map.fetch(store.open, uri), @@ -143,14 +143,14 @@ defmodule Lexical.Document.Store do end end - @spec update(t, Lexical.uri(), Store.updater()) :: {:ok, t} | {:error, any()} + @spec update(t, Forge.uri(), Store.updater()) :: {:ok, t} | {:error, any()} def update(%__MODULE__{} = store, uri, updater_fn) do with {:ok, _, store} <- get_and_update(store, uri, updater_fn) do {:ok, store} end end - @spec open_temporarily(t, Lexical.uri() | Path.t(), timeout()) :: + @spec open_temporarily(t, Forge.uri() | Path.t(), timeout()) :: {:ok, Document.t(), t} | {:error, term()} def open_temporarily(%__MODULE__{} = store, path_or_uri, timeout) do uri = Document.Path.ensure_uri(path_or_uri) @@ -170,7 +170,7 @@ defmodule Lexical.Document.Store do end end - @spec extend_timeout(t, Lexical.uri(), timeout()) :: t + @spec extend_timeout(t, Forge.uri(), timeout()) :: t def extend_timeout(%__MODULE__{} = store, uri, timeout) do case store.temporary_open_refs do %{^uri => ref} -> @@ -183,7 +183,7 @@ defmodule Lexical.Document.Store do end end - @spec unload(t, Lexical.uri()) :: t + @spec unload(t, Forge.uri()) :: t def unload(%__MODULE__{} = store, uri) do {_, store} = pop_open_doc(store, uri) maybe_cancel_ref(store, uri) @@ -236,37 +236,37 @@ defmodule Lexical.Document.Store do end end - @spec fetch(Lexical.uri()) :: {:ok, Document.t()} | {:error, :not_open} + @spec fetch(Forge.uri()) :: {:ok, Document.t()} | {:error, :not_open} def fetch(uri) do GenServer.call(name(), {:fetch, uri}) end - @spec fetch(Lexical.uri(), derivation_key) :: + @spec fetch(Forge.uri(), derivation_key) :: {:ok, Document.t(), derived_value} | {:error, :not_open} def fetch(uri, key) do GenServer.call(name(), {:fetch, uri, key}) end - @spec save(Lexical.uri()) :: :ok | {:error, :not_open} + @spec save(Forge.uri()) :: :ok | {:error, :not_open} def save(uri) do GenServer.call(name(), {:save, uri}) end - @spec open?(Lexical.uri()) :: boolean() + @spec open?(Forge.uri()) :: boolean() def open?(uri) do GenServer.call(name(), {:open?, uri}) end - @spec open(Lexical.uri(), String.t(), String.t(), pos_integer() | nil) :: + @spec open(Forge.uri(), String.t(), String.t(), pos_integer() | nil) :: :ok | {:error, :already_open} def open(uri, text, version, language_id \\ nil) do GenServer.call(name(), {:open, uri, text, version, language_id}) end - @spec open_temporary(Lexical.uri() | Path.t()) :: + @spec open_temporary(Forge.uri() | Path.t()) :: {:ok, Document.t()} | {:error, term()} - @spec open_temporary(Lexical.uri() | Path.t(), timeout()) :: + @spec open_temporary(Forge.uri() | Path.t(), timeout()) :: {:ok, Document.t()} | {:error, term()} def open_temporary(uri, timeout \\ 5000) when is_binary(uri) do ProcessCache.trans(uri, 50, fn -> @@ -274,17 +274,17 @@ defmodule Lexical.Document.Store do end) end - @spec close(Lexical.uri()) :: :ok | {:error, :not_open} + @spec close(Forge.uri()) :: :ok | {:error, :not_open} def close(uri) do GenServer.call(name(), {:close, uri}) end - @spec get_and_update(Lexical.uri(), updater) :: {:ok, Document.t()} | {:error, any()} + @spec get_and_update(Forge.uri(), updater) :: {:ok, Document.t()} | {:error, any()} def get_and_update(uri, update_fn) do GenServer.call(name(), {:get_and_update, uri, update_fn}) end - @spec update(Lexical.uri(), updater) :: :ok | {:error, any()} + @spec update(Forge.uri(), updater) :: :ok | {:error, any()} def update(uri, update_fn) do GenServer.call(name(), {:update, uri, update_fn}) end diff --git a/apps/common/lib/lexical/formats.ex b/apps/forge/lib/forge/formats.ex similarity index 98% rename from apps/common/lib/lexical/formats.ex rename to apps/forge/lib/forge/formats.ex index f4fc6c9b..9cfd6845 100644 --- a/apps/common/lib/lexical/formats.ex +++ b/apps/forge/lib/forge/formats.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Formats do +defmodule Forge.Formats do @moduledoc """ A collection of formatting functions """ diff --git a/apps/common/lib/lexical/identifier.ex b/apps/forge/lib/forge/identifier.ex similarity index 94% rename from apps/common/lib/lexical/identifier.ex rename to apps/forge/lib/forge/identifier.ex index a953458d..79e1464c 100644 --- a/apps/common/lib/lexical/identifier.ex +++ b/apps/forge/lib/forge/identifier.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Identifier do +defmodule Forge.Identifier do @doc """ Returns the next globally unique identifier. Raises a MatchError if this cannot be computed. diff --git a/apps/common/lib/lexical/math.ex b/apps/forge/lib/forge/math.ex similarity index 95% rename from apps/common/lib/lexical/math.ex rename to apps/forge/lib/forge/math.ex index 7393bbbd..524829c6 100644 --- a/apps/common/lib/lexical/math.ex +++ b/apps/forge/lib/forge/math.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Math do +defmodule Forge.Math do @moduledoc """ Utilities related to mathematical operations """ diff --git a/apps/common/lib/lexical/plugin/v1/diagnostic.ex b/apps/forge/lib/forge/plugin/v1/diagnostic.ex similarity index 62% rename from apps/common/lib/lexical/plugin/v1/diagnostic.ex rename to apps/forge/lib/forge/plugin/v1/diagnostic.ex index d23c702a..d5dfa707 100644 --- a/apps/common/lib/lexical/plugin/v1/diagnostic.ex +++ b/apps/forge/lib/forge/plugin/v1/diagnostic.ex @@ -1,31 +1,31 @@ -defmodule Lexical.Plugin.V1.Diagnostic do +defmodule Forge.Plugin.V1.Diagnostic do @moduledoc """ A use-able diagnostic plugin module A diagnostic result examines a `diagnosable` data structure and emits - a list of `Lexical.Plugin.V1.Diagnostic.Result` structs. + a list of `Forge.Plugin.V1.Diagnostic.Result` structs. Diagnostic plugins are called in two places. When a file is saved, they're called with the - `Lexical.Project` struct and are expected to perform diagnostics across the whole project. + `Forge.Project` struct and are expected to perform diagnostics across the whole project. - On receipt of a change to a `Lexical.Document`, they're called with the changed document and + On receipt of a change to a `Forge.Document`, they're called with the changed document and are expected to analyze that document and emit any diagnostics they find. - Both calls to `diagnose` operate on tight deadlines, though when `diagnose` is called with a `Lexical.Project`, - the deadline is much longer than it is when `diagnose` is called with a `Lexical.Document`. This is because - analyzing a project should take a lot longer than analyzing a single document. Currently, Lexical sets + Both calls to `diagnose` operate on tight deadlines, though when `diagnose` is called with a `Forge.Project`, + the deadline is much longer than it is when `diagnose` is called with a `Forge.Document`. This is because + analyzing a project should take a lot longer than analyzing a single document. Currently, Expert sets a deadline of around a second on project-level diagnostics and a tens-of-milliseconds deadline on document plugins. ## Errors and Timeouts - Plugins are very sensitive to errors and are disabled by lexical if they cause too many. At present, - a disabled plugin can only be re-enabled by restarting lexical, so ensure that your plugin doesn't crash, + Plugins are very sensitive to errors and are disabled by expert if they cause too many. At present, + a disabled plugin can only be re-enabled by restarting expert, so ensure that your plugin doesn't crash, and if you don't have diagnostics, return `{:ok, []}` rather than some error response. ## Plugin lifecycle - When a plugin is started, Lexical calls the `init/0` function, which can perform setup actions, like starting + When a plugin is started, Expert calls the `init/0` function, which can perform setup actions, like starting the application associated with the plugin. Implementing this function is optional. From then on, the plugin will be resident and run in tasks whenever files are changed or saved. @@ -33,22 +33,22 @@ defmodule Lexical.Plugin.V1.Diagnostic do ``` defmodule DoesNothing do - use Lexical.Plugin.V1.Diagnostic + use Forge.Plugin.V1.Diagnostic - def diagnose(%Lexical.Document{} = doc) do + def diagnose(%Forge.Document{} = doc) do {:ok, []} end - def diagnose(%Lexical.Project{}) do + def diagnose(%Forge.Project{}) do {:ok, []} end end ``` Check out the README for a plugin that does something more. """ - alias Lexical.Document - alias Lexical.Plugin.V1.Diagnostic - alias Lexical.Project + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic + alias Forge.Project @type state :: any() @type results :: [Diagnostic.Result.t()] @@ -63,11 +63,11 @@ defmodule Lexical.Plugin.V1.Diagnostic do quote location: :keep do require Logger - Module.register_attribute(__MODULE__, :lexical_plugin, persist: true) - @lexical_plugin true + Module.register_attribute(__MODULE__, :expert_plugin, persist: true) + @expert_plugin true @behaviour unquote(__MODULE__) - def __lexical_plugin__ do + def __expert_plugin__ do __MODULE__ end diff --git a/apps/common/lib/lexical/plugin/v1/diagnostic/result.ex b/apps/forge/lib/forge/plugin/v1/diagnostic/result.ex similarity index 91% rename from apps/common/lib/lexical/plugin/v1/diagnostic/result.ex rename to apps/forge/lib/forge/plugin/v1/diagnostic/result.ex index 25fee603..a0cd687c 100644 --- a/apps/common/lib/lexical/plugin/v1/diagnostic/result.ex +++ b/apps/forge/lib/forge/plugin/v1/diagnostic/result.ex @@ -1,13 +1,13 @@ -defmodule Lexical.Plugin.V1.Diagnostic.Result do +defmodule Forge.Plugin.V1.Diagnostic.Result do @moduledoc """ The result of a diagnostic run A diagnostic plugin emits a list of `Result` structs that inform the user about issues the plugin has found. The results contain the following keys: - `uri` - The URI of the document where the error occurs. `Lexical.Document` structs contain a + `uri` - The URI of the document where the error occurs. `Forge.Document` structs contain a `uri` field which can be used to fill out this field. If you have a filesystem path, the function - `Lexical.Document.Path.to_uri/1` can be used to transform a path to a URI. + `Forge.Document.Path.to_uri/1` can be used to transform a path to a URI. `message` - The diagnostic message displayed to the user @@ -43,13 +43,13 @@ defmodule Lexical.Plugin.V1.Diagnostic.Result do `Document.Position.t` - Equivalent to `{line_number, column}`, but saves a conversion step. """ - alias Lexical.Document + alias Forge.Document defstruct [:details, :message, :position, :severity, :source, :uri] @typedoc """ A path or a uri. """ - @type path_or_uri :: Lexical.path() | Lexical.uri() + @type path_or_uri :: Forge.path() | Forge.uri() @typedoc """ The severity of the diagnostic. @@ -77,7 +77,7 @@ defmodule Lexical.Plugin.V1.Diagnostic.Result do message: iodata(), severity: severity(), source: String.t(), - uri: Lexical.uri() + uri: Forge.uri() } @doc """ diff --git a/apps/common/lib/lexical/process_cache.ex b/apps/forge/lib/forge/process_cache.ex similarity index 98% rename from apps/common/lib/lexical/process_cache.ex rename to apps/forge/lib/forge/process_cache.ex index 9ca7bd01..69d02890 100644 --- a/apps/common/lib/lexical/process_cache.ex +++ b/apps/forge/lib/forge/process_cache.ex @@ -1,4 +1,4 @@ -defmodule Lexical.ProcessCache do +defmodule Forge.ProcessCache do @moduledoc """ A simple cache with a timeout that lives in the process dictionary """ diff --git a/apps/common/lib/lexical/project.ex b/apps/forge/lib/forge/project.ex similarity index 92% rename from apps/common/lib/lexical/project.ex rename to apps/forge/lib/forge/project.ex index 054d172f..ad612ab5 100644 --- a/apps/common/lib/lexical/project.ex +++ b/apps/forge/lib/forge/project.ex @@ -1,11 +1,11 @@ -defmodule Lexical.Project do +defmodule Forge.Project do @moduledoc """ The representation of the current state of an elixir project. This struct contains all the information required to build a project and interrogate its configuration, as well as business logic for how to change its attributes. """ - alias Lexical.Document + alias Forge.Document defstruct root_uri: nil, mix_exs_uri: nil, @@ -19,8 +19,8 @@ defmodule Lexical.Project do @type message :: String.t() @type restart_notification :: {:restart, Logger.level(), String.t()} @type t :: %__MODULE__{ - root_uri: Lexical.uri() | nil, - mix_exs_uri: Lexical.uri() | nil, + root_uri: Forge.uri() | nil, + mix_exs_uri: Forge.uri() | nil, entropy: non_neg_integer() # mix_env: atom(), # mix_target: atom(), @@ -28,10 +28,10 @@ defmodule Lexical.Project do } @type error_with_message :: {:error, message} - @workspace_directory_name ".lexical" + @workspace_directory_name ".expert" # Public - @spec new(Lexical.uri()) :: t + @spec new(Forge.uri()) :: t def new(root_uri) do entropy = :rand.uniform(65_536) @@ -165,9 +165,9 @@ defmodule Lexical.Project do end @doc """ - Returns the full path to the project's lexical workspace directory + Returns the full path to the project's expert workspace directory - Lexical maintains a workspace directory in project it konws about, and places various + Expert maintains a workspace directory in project it konws about, and places various artifacts there. This function returns the full path to that directory """ @spec workspace_path(t) :: String.t() @@ -178,7 +178,7 @@ defmodule Lexical.Project do end @doc """ - Returns the full path to a file in lexical's workspace directory + Returns the full path to a file in expert's workspace directory """ @spec workspace_path(t, String.t() | [String.t()]) :: String.t() def workspace_path(%__MODULE__{} = project, relative_path) when is_binary(relative_path) do @@ -190,7 +190,7 @@ defmodule Lexical.Project do end @doc """ - Returns the full path to the directory where lexical puts build artifacts + Returns the full path to the directory where expert puts build artifacts """ def build_path(%__MODULE__{} = project) do project @@ -199,7 +199,7 @@ defmodule Lexical.Project do end @doc """ - Creates and initializes lexical's workspace directory if it doesn't already exist + Creates and initializes expert's workspace directory if it doesn't already exist """ def ensure_workspace(%__MODULE__{} = project) do with :ok <- ensure_workspace_directory(project) do @@ -288,7 +288,7 @@ defmodule Lexical.Project do {:ok, old_project} _ -> - {:restart, :warning, "Environment variables have changed. Lexical needs to restart"} + {:restart, :warning, "Environment variables have changed. Expert needs to restart"} end end diff --git a/apps/common/lib/lexical/struct_access.ex b/apps/forge/lib/forge/struct_access.ex similarity index 96% rename from apps/common/lib/lexical/struct_access.ex rename to apps/forge/lib/forge/struct_access.ex index b68490e6..afb8919e 100644 --- a/apps/common/lib/lexical/struct_access.ex +++ b/apps/forge/lib/forge/struct_access.ex @@ -1,4 +1,4 @@ -defmodule Lexical.StructAccess do +defmodule Forge.StructAccess do @moduledoc """ Allows structs to easily adopt the `Access` behaviour. """ diff --git a/apps/common/lib/lexical/text.ex b/apps/forge/lib/forge/text.ex similarity index 90% rename from apps/common/lib/lexical/text.ex rename to apps/forge/lib/forge/text.ex index a35c65a9..ce115dec 100644 --- a/apps/common/lib/lexical/text.ex +++ b/apps/forge/lib/forge/text.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Text do +defmodule Forge.Text do def count_leading_spaces(str), do: count_leading_spaces(str, 0) def count_leading_spaces(<>, count) when c in [?\s, ?\t], diff --git a/apps/common/lib/lexical/vm/versions.ex b/apps/forge/lib/forge/vm/versions.ex similarity index 99% rename from apps/common/lib/lexical/vm/versions.ex rename to apps/forge/lib/forge/vm/versions.ex index 3f21751f..4bf9a48b 100644 --- a/apps/common/lib/lexical/vm/versions.ex +++ b/apps/forge/lib/forge/vm/versions.ex @@ -1,4 +1,4 @@ -defmodule Lexical.VM.Versions do +defmodule Forge.VM.Versions do @moduledoc """ Reads and writes version tags for elixir and erlang @@ -72,7 +72,7 @@ defmodule Lexical.VM.Versions do @doc """ Tells whether or not the current version of VM is supported by - Lexical's compiled artifacts. + Expert's compiled artifacts. """ @spec compatible?() :: boolean @spec compatible?(Path.t()) :: boolean diff --git a/apps/common/lib/future/code.ex b/apps/forge/lib/future/code.ex similarity index 99% rename from apps/common/lib/future/code.ex rename to apps/forge/lib/future/code.ex index c14ec8a6..80fbc204 100644 --- a/apps/common/lib/future/code.ex +++ b/apps/forge/lib/future/code.ex @@ -103,18 +103,18 @@ defmodule Future.Code do following events are available to tracers: * `:start` - (since v1.11.0) invoked whenever the compiler starts to trace - a new lexical context. A lexical context is started when compiling a new + a new expert context. A expert context is started when compiling a new file or when defining a module within a function. Note evaluated code - does not start a new lexical context (because they don't track unused + does not start a new expert context (because they don't track unused aliases, imports, etc) but defining a module inside evaluated code will. Note this event may be emitted in parallel, where multiple files/modules - invoke `:start` and run at the same time. The value of the `lexical_tracker` + invoke `:start` and run at the same time. The value of the `expert_tracker` of the macro environment, albeit opaque, can be used to uniquely identify the environment. * `:stop` - (since v1.11.0) invoked whenever the compiler stops tracing a - new lexical context, such as a new file. + new expert context, such as a new file. * `{:import, meta, module, opts}` - traced whenever `module` is imported. `meta` is the import AST metadata and `opts` are the import options. diff --git a/apps/common/lib/future/code/fragment.ex b/apps/forge/lib/future/code/fragment.ex similarity index 100% rename from apps/common/lib/future/code/fragment.ex rename to apps/forge/lib/future/code/fragment.ex diff --git a/apps/common/lib/future/code/indentifier.ex b/apps/forge/lib/future/code/indentifier.ex similarity index 100% rename from apps/common/lib/future/code/indentifier.ex rename to apps/forge/lib/future/code/indentifier.ex diff --git a/apps/common/lib/future/code/typespec.ex b/apps/forge/lib/future/code/typespec.ex similarity index 100% rename from apps/common/lib/future/code/typespec.ex rename to apps/forge/lib/future/code/typespec.ex diff --git a/apps/common/lib/future/macro.ex b/apps/forge/lib/future/macro.ex similarity index 100% rename from apps/common/lib/future/macro.ex rename to apps/forge/lib/future/macro.ex diff --git a/apps/common/lib/future/mix/tasks/format.ex b/apps/forge/lib/future/mix/tasks/format.ex similarity index 100% rename from apps/common/lib/future/mix/tasks/format.ex rename to apps/forge/lib/future/mix/tasks/format.ex diff --git a/apps/common/lib/mix/tasks/hooks.ex b/apps/forge/lib/mix/tasks/hooks.ex similarity index 100% rename from apps/common/lib/mix/tasks/hooks.ex rename to apps/forge/lib/mix/tasks/hooks.ex diff --git a/apps/common/mix.exs b/apps/forge/mix.exs similarity index 94% rename from apps/common/mix.exs rename to apps/forge/mix.exs index 77c327dd..b2c63c05 100644 --- a/apps/common/mix.exs +++ b/apps/forge/mix.exs @@ -1,10 +1,10 @@ -defmodule Common.MixProject do +defmodule Forge.MixProject do use Mix.Project Code.require_file("../../mix_includes.exs") def project do [ - app: :common, + app: :forge, version: "0.7.2", elixir: "~> 1.15", elixirc_paths: elixirc_paths(Mix.env()), diff --git a/apps/common/mix.lock b/apps/forge/mix.lock similarity index 100% rename from apps/common/mix.lock rename to apps/forge/mix.lock diff --git a/apps/common/src/future_elixir.erl b/apps/forge/src/future_elixir.erl similarity index 96% rename from apps/common/src/future_elixir.erl rename to apps/forge/src/future_elixir.erl index 4580963f..7d5671ac 100644 --- a/apps/common/src/future_elixir.erl +++ b/apps/forge/src/future_elixir.erl @@ -209,7 +209,7 @@ start_cli() -> %% EVAL HOOKS -env_for_eval(#{lexical_tracker := Pid} = Env) -> +env_for_eval(#{expert_tracker := Pid} = Env) -> NewEnv = Env#{ context := nil, context_modules := [], @@ -227,7 +227,7 @@ env_for_eval(#{lexical_tracker := Pid} = Env) -> <<"an __ENV__ with outdated compilation information was given to eval, " "call Macro.Env.prune_compile_info/1 to prune it">> ), - NewEnv#{lexical_tracker := nil, tracers := []} + NewEnv#{expert_tracker := nil, tracers := []} end; false -> NewEnv#{tracers := []} @@ -293,17 +293,17 @@ env_for_eval(Opts) when is_list(Opts) -> ?key(Env, macros) end, - %% If there is a dead PID or lexical tracker is nil, + %% If there is a dead PID or expert tracker is nil, %% we assume the tracers also cannot be (re)used. - {LexicalTracker, Tracers} = case lists:keyfind(lexical_tracker, 1, Opts) of - {lexical_tracker, Pid} when is_pid(Pid) -> - 'Elixir.IO':warn(<<":lexical_tracker option in eval is deprecated">>), + {ExpertTracker, Tracers} = case lists:keyfind(expert_tracker, 1, Opts) of + {expert_tracker, Pid} when is_pid(Pid) -> + 'Elixir.IO':warn(<<":expert_tracker option in eval is deprecated">>), case is_process_alive(Pid) of true -> {Pid, TempTracers}; false -> {nil, []} end; - {lexical_tracker, nil} -> - 'Elixir.IO':warn(<<":lexical_tracker option in eval is deprecated">>), + {expert_tracker, nil} -> + 'Elixir.IO':warn(<<":expert_tracker option in eval is deprecated">>), {nil, []}; false -> {nil, TempTracers} @@ -311,7 +311,7 @@ env_for_eval(Opts) when is_list(Opts) -> Env#{ file := File, module := Module, function := FA, tracers := Tracers, - macros := Macros, functions := Functions, lexical_tracker := LexicalTracker, + macros := Macros, functions := Functions, expert_tracker := ExpertTracker, requires := Requires, aliases := Aliases, line := Line }. diff --git a/apps/common/src/future_elixir.hrl b/apps/forge/src/future_elixir.hrl similarity index 100% rename from apps/common/src/future_elixir.hrl rename to apps/forge/src/future_elixir.hrl diff --git a/apps/common/src/future_elixir_errors.erl b/apps/forge/src/future_elixir_errors.erl similarity index 99% rename from apps/common/src/future_elixir_errors.erl rename to apps/forge/src/future_elixir_errors.erl index af0aadc7..72d5297e 100644 --- a/apps/common/src/future_elixir_errors.erl +++ b/apps/forge/src/future_elixir_errors.erl @@ -291,9 +291,9 @@ print_error(Meta, Env, Module, Desc) -> %% Compilation error. -spec compile_error(#{file := binary(), _ => _}) -> no_return(). -%% We check for the lexical tracker because pry() inside a module +%% We check for the expert tracker because pry() inside a module %% will have the environment but not a tracker. -compile_error(#{module := Module, file := File, lexical_tracker := LT}) when Module /= nil, LT /= nil -> +compile_error(#{module := Module, file := File, expert_tracker := LT}) when Module /= nil, LT /= nil -> Inspected = elixir_aliases:inspect(Module), Message = io_lib:format("cannot compile module ~ts (errors have been logged)", [Inspected]), compile_error([], File, Message); diff --git a/apps/common/src/future_elixir_interpolation.erl b/apps/forge/src/future_elixir_interpolation.erl similarity index 100% rename from apps/common/src/future_elixir_interpolation.erl rename to apps/forge/src/future_elixir_interpolation.erl diff --git a/apps/common/src/future_elixir_parser.yrl b/apps/forge/src/future_elixir_parser.yrl similarity index 100% rename from apps/common/src/future_elixir_parser.yrl rename to apps/forge/src/future_elixir_parser.yrl diff --git a/apps/common/src/future_elixir_tokenizer.erl b/apps/forge/src/future_elixir_tokenizer.erl similarity index 100% rename from apps/common/src/future_elixir_tokenizer.erl rename to apps/forge/src/future_elixir_tokenizer.erl diff --git a/apps/common/src/future_elixir_tokenizer.hrl b/apps/forge/src/future_elixir_tokenizer.hrl similarity index 100% rename from apps/common/src/future_elixir_tokenizer.hrl rename to apps/forge/src/future_elixir_tokenizer.hrl diff --git a/apps/forge/test/forge/ast/detection/alias_test.exs b/apps/forge/test/forge/ast/detection/alias_test.exs new file mode 100644 index 00000000..3dba4142 --- /dev/null +++ b/apps/forge/test/forge/ast/detection/alias_test.exs @@ -0,0 +1,7 @@ +defmodule Forge.Ast.Detection.AliasTest do + alias Forge.Ast.Detection + + use Forge.Test.DetectionCase, + for: Detection.Alias, + assertions: [[:alias, :*]] +end diff --git a/apps/forge/test/forge/ast/detection/bitstring_test.exs b/apps/forge/test/forge/ast/detection/bitstring_test.exs new file mode 100644 index 00000000..0f2ab329 --- /dev/null +++ b/apps/forge/test/forge/ast/detection/bitstring_test.exs @@ -0,0 +1,6 @@ +defmodule Forge.Ast.Detection.BitstringTest do + use Forge.Test.DetectionCase, + for: Forge.Ast.Detection.Bitstring, + assertions: [[:bitstring, :*]], + variations: [:match, :function_arguments, :function_body] +end diff --git a/apps/forge/test/forge/ast/detection/comment_test.exs b/apps/forge/test/forge/ast/detection/comment_test.exs new file mode 100644 index 00000000..b87b3fe2 --- /dev/null +++ b/apps/forge/test/forge/ast/detection/comment_test.exs @@ -0,0 +1,7 @@ +defmodule Forge.Ast.Detection.CommentTest do + alias Forge.Ast.Detection + + use Forge.Test.DetectionCase, + for: Detection.Comment, + assertions: [[:comment, :*]] +end diff --git a/apps/common/test/lexical/ast/detection/function_capture_test.exs b/apps/forge/test/forge/ast/detection/function_capture_test.exs similarity index 88% rename from apps/common/test/lexical/ast/detection/function_capture_test.exs rename to apps/forge/test/forge/ast/detection/function_capture_test.exs index 5031c936..e8acedfd 100644 --- a/apps/common/test/lexical/ast/detection/function_capture_test.exs +++ b/apps/forge/test/forge/ast/detection/function_capture_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.FunctionCaptureTest do - alias Lexical.Ast.Detection +defmodule Forge.Ast.Detection.FunctionCaptureTest do + alias Forge.Ast.Detection - use Lexical.Test.DetectionCase, + use Forge.Test.DetectionCase, for: Detection.FunctionCapture, assertions: [[:function_capture, :*]], variations: [:match, :function_body] diff --git a/apps/common/test/lexical/ast/detection/import_test.exs b/apps/forge/test/forge/ast/detection/import_test.exs similarity index 65% rename from apps/common/test/lexical/ast/detection/import_test.exs rename to apps/forge/test/forge/ast/detection/import_test.exs index ad578d25..c74702b8 100644 --- a/apps/common/test/lexical/ast/detection/import_test.exs +++ b/apps/forge/test/forge/ast/detection/import_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.ImportTest do - alias Lexical.Ast.Detection +defmodule Forge.Ast.Detection.ImportTest do + alias Forge.Ast.Detection - use Lexical.Test.DetectionCase, + use Forge.Test.DetectionCase, for: Detection.Import, assertions: [[:import, :*]] diff --git a/apps/common/test/lexical/ast/detection/module_attribute_test.exs b/apps/forge/test/forge/ast/detection/module_attribute_test.exs similarity index 67% rename from apps/common/test/lexical/ast/detection/module_attribute_test.exs rename to apps/forge/test/forge/ast/detection/module_attribute_test.exs index 68c6249b..fc501fc5 100644 --- a/apps/common/test/lexical/ast/detection/module_attribute_test.exs +++ b/apps/forge/test/forge/ast/detection/module_attribute_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.ModuleAttributeTest do - alias Lexical.Ast.Detection +defmodule Forge.Ast.Detection.ModuleAttributeTest do + alias Forge.Ast.Detection - use Lexical.Test.DetectionCase, + use Forge.Test.DetectionCase, for: Detection.ModuleAttribute, assertions: [ [:module_attribute, :*], diff --git a/apps/common/test/lexical/ast/detection/pipe_test.exs b/apps/forge/test/forge/ast/detection/pipe_test.exs similarity index 69% rename from apps/common/test/lexical/ast/detection/pipe_test.exs rename to apps/forge/test/forge/ast/detection/pipe_test.exs index ef0c259a..6902d245 100644 --- a/apps/common/test/lexical/ast/detection/pipe_test.exs +++ b/apps/forge/test/forge/ast/detection/pipe_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.PipeTest do - alias Lexical.Ast.Detection +defmodule Forge.Ast.Detection.PipeTest do + alias Forge.Ast.Detection - use Lexical.Test.DetectionCase, + use Forge.Test.DetectionCase, for: Detection.Pipe, assertions: [[:pipe, :*]], variations: [:function_arguments], diff --git a/apps/forge/test/forge/ast/detection/require_test.exs b/apps/forge/test/forge/ast/detection/require_test.exs new file mode 100644 index 00000000..12a58388 --- /dev/null +++ b/apps/forge/test/forge/ast/detection/require_test.exs @@ -0,0 +1,7 @@ +defmodule Forge.Ast.Detection.RequireTest do + alias Forge.Ast.Detection + + use Forge.Test.DetectionCase, + for: Detection.Require, + assertions: [[:require, :*]] +end diff --git a/apps/forge/test/forge/ast/detection/spec_test.exs b/apps/forge/test/forge/ast/detection/spec_test.exs new file mode 100644 index 00000000..c281d1bf --- /dev/null +++ b/apps/forge/test/forge/ast/detection/spec_test.exs @@ -0,0 +1,7 @@ +defmodule Forge.Ast.Detection.SpecTest do + alias Forge.Ast.Detection + + use Forge.Test.DetectionCase, + for: Detection.Spec, + assertions: [[:spec, :*]] +end diff --git a/apps/common/test/lexical/ast/detection/string_test.exs b/apps/forge/test/forge/ast/detection/string_test.exs similarity index 83% rename from apps/common/test/lexical/ast/detection/string_test.exs rename to apps/forge/test/forge/ast/detection/string_test.exs index 4ffedd33..12dba947 100644 --- a/apps/common/test/lexical/ast/detection/string_test.exs +++ b/apps/forge/test/forge/ast/detection/string_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.StringTest do - alias Lexical.Ast.Detection +defmodule Forge.Ast.Detection.StringTest do + alias Forge.Ast.Detection - use Lexical.Test.DetectionCase, + use Forge.Test.DetectionCase, for: Detection.String, assertions: [[:strings, :*]], # we skip other tests that have strings in them diff --git a/apps/common/test/lexical/ast/detection/struct_field_key_test.exs b/apps/forge/test/forge/ast/detection/struct_field_key_test.exs similarity index 72% rename from apps/common/test/lexical/ast/detection/struct_field_key_test.exs rename to apps/forge/test/forge/ast/detection/struct_field_key_test.exs index 7267d184..fd19d676 100644 --- a/apps/common/test/lexical/ast/detection/struct_field_key_test.exs +++ b/apps/forge/test/forge/ast/detection/struct_field_key_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.StructFieldKeyTest do - alias Lexical.Ast.Detection +defmodule Forge.Ast.Detection.StructFieldKeyTest do + alias Forge.Ast.Detection - use Lexical.Test.DetectionCase, + use Forge.Test.DetectionCase, for: Detection.StructFieldKey, assertions: [[:struct_field_key, :*]], skip: [ diff --git a/apps/common/test/lexical/ast/detection/struct_field_value_test.exs b/apps/forge/test/forge/ast/detection/struct_field_value_test.exs similarity index 80% rename from apps/common/test/lexical/ast/detection/struct_field_value_test.exs rename to apps/forge/test/forge/ast/detection/struct_field_value_test.exs index bfff2d6e..07b24221 100644 --- a/apps/common/test/lexical/ast/detection/struct_field_value_test.exs +++ b/apps/forge/test/forge/ast/detection/struct_field_value_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.StructFieldValueTest do - alias Lexical.Ast.Detection +defmodule Forge.Ast.Detection.StructFieldValueTest do + alias Forge.Ast.Detection - use Lexical.Test.DetectionCase, + use Forge.Test.DetectionCase, for: Detection.StructFieldValue, assertions: [[:struct_field_value, :*]], skip: [ diff --git a/apps/common/test/lexical/ast/detection/struct_fields_test.exs b/apps/forge/test/forge/ast/detection/struct_fields_test.exs similarity index 86% rename from apps/common/test/lexical/ast/detection/struct_fields_test.exs rename to apps/forge/test/forge/ast/detection/struct_fields_test.exs index a3aa2f6b..477144cc 100644 --- a/apps/common/test/lexical/ast/detection/struct_fields_test.exs +++ b/apps/forge/test/forge/ast/detection/struct_fields_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.StructFieldsTest do - alias Lexical.Ast.Detection +defmodule Forge.Ast.Detection.StructFieldsTest do + alias Forge.Ast.Detection - use Lexical.Test.DetectionCase, + use Forge.Test.DetectionCase, for: Detection.StructFields, assertions: [[:struct_fields, :*]], variations: [:match, :function_body, :function_arguments, :module], diff --git a/apps/common/test/lexical/ast/detection/struct_reference_test.exs b/apps/forge/test/forge/ast/detection/struct_reference_test.exs similarity index 91% rename from apps/common/test/lexical/ast/detection/struct_reference_test.exs rename to apps/forge/test/forge/ast/detection/struct_reference_test.exs index 426ffb01..90232d47 100644 --- a/apps/common/test/lexical/ast/detection/struct_reference_test.exs +++ b/apps/forge/test/forge/ast/detection/struct_reference_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.StructReferenceTest do - alias Lexical.Ast.Detection +defmodule Forge.Ast.Detection.StructReferenceTest do + alias Forge.Ast.Detection - use Lexical.Test.DetectionCase, + use Forge.Test.DetectionCase, for: Detection.StructReference, assertions: [[:struct_reference, :*]], skip: [[:struct_fields, :*], [:struct_field_value, :*], [:struct_field_key, :*]], diff --git a/apps/common/test/lexical/ast/detection/type_test.exs b/apps/forge/test/forge/ast/detection/type_test.exs similarity index 72% rename from apps/common/test/lexical/ast/detection/type_test.exs rename to apps/forge/test/forge/ast/detection/type_test.exs index 1d40ec4f..c8403bf8 100644 --- a/apps/common/test/lexical/ast/detection/type_test.exs +++ b/apps/forge/test/forge/ast/detection/type_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Ast.Detection.TypeTest do - alias Lexical.Ast.Detection +defmodule Forge.Ast.Detection.TypeTest do + alias Forge.Ast.Detection - use Lexical.Test.DetectionCase, + use Forge.Test.DetectionCase, for: Detection.Type, assertions: [[:type, :*]] diff --git a/apps/forge/test/forge/ast/detection/use_test.exs b/apps/forge/test/forge/ast/detection/use_test.exs new file mode 100644 index 00000000..b7685841 --- /dev/null +++ b/apps/forge/test/forge/ast/detection/use_test.exs @@ -0,0 +1,7 @@ +defmodule Forge.Ast.Detection.UseTest do + alias Forge.Ast.Detection + + use Forge.Test.DetectionCase, + for: Detection.Use, + assertions: [[:use, :*]] +end diff --git a/apps/common/test/lexical/ast/env_test.exs b/apps/forge/test/forge/ast/env_test.exs similarity index 97% rename from apps/common/test/lexical/ast/env_test.exs rename to apps/forge/test/forge/ast/env_test.exs index 5698a607..071cab7b 100644 --- a/apps/common/test/lexical/ast/env_test.exs +++ b/apps/forge/test/forge/ast/env_test.exs @@ -1,11 +1,11 @@ -defmodule Lexical.Ast.EnvTest do +defmodule Forge.Ast.EnvTest do use ExUnit.Case, async: true - alias Lexical.Ast - alias Lexical.Project + alias Forge.Ast + alias Forge.Project - import Lexical.Ast.Env - import Lexical.Test.CursorSupport + import Forge.Ast.Env + import Forge.Test.CursorSupport def new_env(text, opts \\ []) do opts = Keyword.merge([as: :document], opts) diff --git a/apps/common/test/lexical/ast/module_test.exs b/apps/forge/test/forge/ast/module_test.exs similarity index 55% rename from apps/common/test/lexical/ast/module_test.exs rename to apps/forge/test/forge/ast/module_test.exs index 7930b646..492eb388 100644 --- a/apps/common/test/lexical/ast/module_test.exs +++ b/apps/forge/test/forge/ast/module_test.exs @@ -1,20 +1,20 @@ -defmodule Lexical.Ast.ModuleTest do - import Lexical.Ast.Module +defmodule Forge.Ast.ModuleTest do + import Forge.Ast.Module use ExUnit.Case, async: true describe "safe_split/2" do test "splits elixir modules into binaries by default" do - assert {:elixir, ~w(Lexical Document Store)} == safe_split(Lexical.Document.Store) + assert {:elixir, ~w(Forge Document Store)} == safe_split(Forge.Document.Store) end test "splits elixir modules into binaries" do - assert {:elixir, ~w(Lexical Document Store)} == - safe_split(Lexical.Document.Store, as: :binaries) + assert {:elixir, ~w(Forge Document Store)} == + safe_split(Forge.Document.Store, as: :binaries) end test "splits elixir modules into atoms" do - assert {:elixir, ~w(Lexical Document Store)a} == - safe_split(Lexical.Document.Store, as: :atoms) + assert {:elixir, ~w(Forge Document Store)a} == + safe_split(Forge.Document.Store, as: :atoms) end test "splits erlang modules" do diff --git a/apps/common/test/lexical/ast/tokens_test.exs b/apps/forge/test/forge/ast/tokens_test.exs similarity index 94% rename from apps/common/test/lexical/ast/tokens_test.exs rename to apps/forge/test/forge/ast/tokens_test.exs index 8b656ec1..05f21713 100644 --- a/apps/common/test/lexical/ast/tokens_test.exs +++ b/apps/forge/test/forge/ast/tokens_test.exs @@ -1,8 +1,8 @@ -defmodule Lexical.Ast.TokensTest do - alias Lexical.Ast.Tokens +defmodule Forge.Ast.TokensTest do + alias Forge.Ast.Tokens - import Lexical.Test.CodeSigil - import Lexical.Test.CursorSupport + import Forge.Test.CodeSigil + import Forge.Test.CursorSupport use ExUnit.Case, async: true diff --git a/apps/common/test/lexical/ast_test.exs b/apps/forge/test/forge/ast_test.exs similarity index 96% rename from apps/common/test/lexical/ast_test.exs rename to apps/forge/test/forge/ast_test.exs index 76fa7c85..16796b65 100644 --- a/apps/common/test/lexical/ast_test.exs +++ b/apps/forge/test/forge/ast_test.exs @@ -1,14 +1,14 @@ -defmodule Lexical.AstTest do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Document - alias Lexical.Document.Position +defmodule Forge.AstTest do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Document + alias Forge.Document.Position alias Sourceror.Zipper - import Lexical.Test.CodeSigil - import Lexical.Test.CursorSupport - import Lexical.Test.PositionSupport - import Lexical.Test.RangeSupport + import Forge.Test.CodeSigil + import Forge.Test.CursorSupport + import Forge.Test.PositionSupport + import Forge.Test.RangeSupport use ExUnit.Case, async: true diff --git a/apps/common/test/lexical/code_unit_test.exs b/apps/forge/test/forge/code_unit_test.exs similarity index 98% rename from apps/common/test/lexical/code_unit_test.exs rename to apps/forge/test/forge/code_unit_test.exs index 25166f86..d278b3dc 100644 --- a/apps/common/test/lexical/code_unit_test.exs +++ b/apps/forge/test/forge/code_unit_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.CodeUnitTest do - alias Lexical.CodeUnit +defmodule Forge.CodeUnitTest do + alias Forge.CodeUnit use ExUnit.Case diff --git a/apps/common/test/lexical/document/lines_test.exs b/apps/forge/test/forge/document/lines_test.exs similarity index 94% rename from apps/common/test/lexical/document/lines_test.exs rename to apps/forge/test/forge/document/lines_test.exs index 03b5ebc6..4b1f213a 100644 --- a/apps/common/test/lexical/document/lines_test.exs +++ b/apps/forge/test/forge/document/lines_test.exs @@ -1,6 +1,6 @@ -defmodule Lexical.Document.LinesTest do - alias Lexical.Document.Line - alias Lexical.Document.Lines +defmodule Forge.Document.LinesTest do + alias Forge.Document.Line + alias Forge.Document.Lines use ExUnit.Case, async: true use ExUnitProperties diff --git a/apps/common/test/lexical/document/path_test.exs b/apps/forge/test/forge/document/path_test.exs similarity index 98% rename from apps/common/test/lexical/document/path_test.exs rename to apps/forge/test/forge/document/path_test.exs index 4668986d..90197fc2 100644 --- a/apps/common/test/lexical/document/path_test.exs +++ b/apps/forge/test/forge/document/path_test.exs @@ -2,13 +2,13 @@ defmodule ElixirLS.LanguageServer.SourceFile.PathTest do use ExUnit.Case use Patch - import Lexical.Document.Path + import Forge.Document.Path defp patch_os(os_type, fun) do test = self() spawn(fn -> - patch(Lexical.Document.Path, :os_type, os_type) + patch(Forge.Document.Path, :os_type, os_type) try do rv = fun.() diff --git a/apps/common/test/lexical/document/position_test.exs b/apps/forge/test/forge/document/position_test.exs similarity index 90% rename from apps/common/test/lexical/document/position_test.exs rename to apps/forge/test/forge/document/position_test.exs index 41561aff..85a1e344 100644 --- a/apps/common/test/lexical/document/position_test.exs +++ b/apps/forge/test/forge/document/position_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Document.PositionTest do - alias Lexical.Document.Line - alias Lexical.Document.Lines - alias Lexical.Document.Position +defmodule Forge.Document.PositionTest do + alias Forge.Document.Line + alias Forge.Document.Lines + alias Forge.Document.Position import Line diff --git a/apps/common/test/lexical/document/range_test.exs b/apps/forge/test/forge/document/range_test.exs similarity index 91% rename from apps/common/test/lexical/document/range_test.exs rename to apps/forge/test/forge/document/range_test.exs index 1d4c8860..e2e16264 100644 --- a/apps/common/test/lexical/document/range_test.exs +++ b/apps/forge/test/forge/document/range_test.exs @@ -1,9 +1,9 @@ -defmodule Lexical.Document.RangeTest do - alias Lexical.Document.Lines - alias Lexical.Document.Position - alias Lexical.Document.Range +defmodule Forge.Document.RangeTest do + alias Forge.Document.Lines + alias Forge.Document.Position + alias Forge.Document.Range - import Lexical.Document.Line + import Forge.Document.Line use ExUnit.Case, async: true diff --git a/apps/common/test/lexical/document/store_test.exs b/apps/forge/test/forge/document/store_test.exs similarity index 97% rename from apps/common/test/lexical/document/store_test.exs rename to apps/forge/test/forge/document/store_test.exs index 3a466c63..f3f6b623 100644 --- a/apps/common/test/lexical/document/store_test.exs +++ b/apps/forge/test/forge/document/store_test.exs @@ -1,8 +1,8 @@ -defmodule Lexical.Document.StoreTest do - alias Lexical.Document - alias Lexical.Document.Edit - alias Lexical.Document.Position - alias Lexical.Document.Range +defmodule Forge.Document.StoreTest do + alias Forge.Document + alias Forge.Document.Edit + alias Forge.Document.Position + alias Forge.Document.Range use ExUnit.Case diff --git a/apps/common/test/lexical/formats_test.exs b/apps/forge/test/forge/formats_test.exs similarity index 90% rename from apps/common/test/lexical/formats_test.exs rename to apps/forge/test/forge/formats_test.exs index 194ef5df..d7607850 100644 --- a/apps/common/test/lexical/formats_test.exs +++ b/apps/forge/test/forge/formats_test.exs @@ -1,15 +1,15 @@ -defmodule Lexical.FormatsTest do - alias Lexical.Formats +defmodule Forge.FormatsTest do + alias Forge.Formats use ExUnit.Case describe "stringifying modules" do test "it correctly handles a top-level module" do - assert "Lexical" == Formats.module(Lexical) + assert "Forge" == Formats.module(Forge) end test "it correctly handles a nested module" do - assert "Lexical.Text" == Formats.module(Lexical.Text) + assert "Forge.Text" == Formats.module(Forge.Text) end test "it correctly handles an erlang module name" do diff --git a/apps/common/test/lexical/line_parser_test.exs b/apps/forge/test/forge/line_parser_test.exs similarity index 96% rename from apps/common/test/lexical/line_parser_test.exs rename to apps/forge/test/forge/line_parser_test.exs index eaef8149..e9d9f6e8 100644 --- a/apps/common/test/lexical/line_parser_test.exs +++ b/apps/forge/test/forge/line_parser_test.exs @@ -1,7 +1,7 @@ -defmodule Lexical.Document.LineParserTest do - alias Lexical.Document.LineParser +defmodule Forge.Document.LineParserTest do + alias Forge.Document.LineParser - import Lexical.Document.Line + import Forge.Document.Line use ExUnit.Case use ExUnitProperties diff --git a/apps/common/test/lexical/math_test.exs b/apps/forge/test/forge/math_test.exs similarity index 94% rename from apps/common/test/lexical/math_test.exs rename to apps/forge/test/forge/math_test.exs index a87b21e1..8adea42c 100644 --- a/apps/common/test/lexical/math_test.exs +++ b/apps/forge/test/forge/math_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.MathTest do - alias Lexical.Math +defmodule Forge.MathTest do + alias Forge.Math use ExUnit.Case, async: true use ExUnitProperties diff --git a/apps/common/test/lexical/process_cache_test.exs b/apps/forge/test/forge/process_cache_test.exs similarity index 97% rename from apps/common/test/lexical/process_cache_test.exs rename to apps/forge/test/forge/process_cache_test.exs index fe4484cb..2996bd43 100644 --- a/apps/common/test/lexical/process_cache_test.exs +++ b/apps/forge/test/forge/process_cache_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.ProcessCacheTest do - alias Lexical.ProcessCache +defmodule Forge.ProcessCacheTest do + alias Forge.ProcessCache import ProcessCache diff --git a/apps/common/test/lexical/project_test.exs b/apps/forge/test/forge/project_test.exs similarity index 89% rename from apps/common/test/lexical/project_test.exs rename to apps/forge/test/forge/project_test.exs index 5616f37f..74f3df8e 100644 --- a/apps/common/test/lexical/project_test.exs +++ b/apps/forge/test/forge/project_test.exs @@ -1,12 +1,12 @@ -defmodule Lexical.ProjectTest do - alias Lexical.Project +defmodule Forge.ProjectTest do + alias Forge.Project use ExUnit.Case, async: false use ExUnitProperties use Patch def project do - root = Lexical.Document.Path.to_uri(__DIR__) + root = Forge.Document.Path.to_uri(__DIR__) Project.new(root) end diff --git a/apps/common/test/lexical/text_test.exs b/apps/forge/test/forge/text_test.exs similarity index 89% rename from apps/common/test/lexical/text_test.exs rename to apps/forge/test/forge/text_test.exs index 860f41b0..9c5ac5c3 100644 --- a/apps/common/test/lexical/text_test.exs +++ b/apps/forge/test/forge/text_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.TextTest do - alias Lexical.Text +defmodule Forge.TextTest do + alias Forge.Text use ExUnit.Case, async: true use ExUnitProperties diff --git a/apps/common/test/lexical/vm/versions_test.exs b/apps/forge/test/forge/vm/versions_test.exs similarity index 97% rename from apps/common/test/lexical/vm/versions_test.exs rename to apps/forge/test/forge/vm/versions_test.exs index 2166eb31..29bf0ae8 100644 --- a/apps/common/test/lexical/vm/versions_test.exs +++ b/apps/forge/test/forge/vm/versions_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.VM.VersionTest do - alias Lexical.VM.Versions +defmodule Forge.VM.VersionTest do + alias Forge.VM.Versions use ExUnit.Case use Patch import Versions diff --git a/apps/common/test/support/lexical/test/code_sigil.ex b/apps/forge/test/support/test/code_sigil.ex similarity index 96% rename from apps/common/test/support/lexical/test/code_sigil.ex rename to apps/forge/test/support/test/code_sigil.ex index 577928bc..30946f51 100644 --- a/apps/common/test/support/lexical/test/code_sigil.ex +++ b/apps/forge/test/support/test/code_sigil.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Test.CodeSigil do +defmodule Forge.Test.CodeSigil do def sigil_q(text, opts \\ []) do {first, rest} = case String.split(text, "\n") do diff --git a/apps/common/test/support/lexical/test/cursor_support.ex b/apps/forge/test/support/test/cursor_support.ex similarity index 94% rename from apps/common/test/support/lexical/test/cursor_support.ex rename to apps/forge/test/support/test/cursor_support.ex index 7936d843..ce9f5a4e 100644 --- a/apps/common/test/support/lexical/test/cursor_support.ex +++ b/apps/forge/test/support/test/cursor_support.ex @@ -1,12 +1,12 @@ -defmodule Lexical.Test.CursorSupport do +defmodule Forge.Test.CursorSupport do @moduledoc """ Utilities for extracting cursor position in code fragments and documents. """ - alias Lexical.Document - alias Lexical.Document.Line - alias Lexical.Document.Position - alias Lexical.Test.PositionSupport + alias Forge.Document + alias Forge.Document.Line + alias Forge.Document.Position + alias Forge.Test.PositionSupport import Line @@ -26,7 +26,7 @@ defmodule Lexical.Test.CursorSupport do `#{inspect(@default_cursor)}`. * `:as` - one of `:text` (default) or `:document`. If `:document`, - wraps the text in a `Lexical.Document` using the URI `"file:///file.ex"`. + wraps the text in a `Forge.Document` using the URI `"file:///file.ex"`. * `:document` - the document path or URI. Setting this option implies `as: :document`. diff --git a/apps/common/test/support/lexical/test/detection_case.ex b/apps/forge/test/support/test/detection_case.ex similarity index 95% rename from apps/common/test/support/lexical/test/detection_case.ex rename to apps/forge/test/support/test/detection_case.ex index a825b598..e8551a7c 100644 --- a/apps/common/test/support/lexical/test/detection_case.ex +++ b/apps/forge/test/support/test/detection_case.ex @@ -1,14 +1,14 @@ -defmodule Lexical.Test.DetectionCase do - alias Lexical.Ast - alias Lexical.Ast.Analysis - alias Lexical.Ast.Tokens - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.Test.DetectionCase.Suite - alias Lexical.Test.Variations - - import Lexical.Test.RangeSupport +defmodule Forge.Test.DetectionCase do + alias Forge.Ast + alias Forge.Ast.Analysis + alias Forge.Ast.Tokens + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.Test.DetectionCase.Suite + alias Forge.Test.Variations + + import Forge.Test.RangeSupport import ExUnit.Assertions use ExUnit.CaseTemplate @@ -38,9 +38,9 @@ defmodule Lexical.Test.DetectionCase do quote location: :keep do @context unquote(context) - alias Lexical.Test.DetectionCase + alias Forge.Test.DetectionCase - import Lexical.Test.CodeSigil + import Forge.Test.CodeSigil import unquote(__MODULE__), only: [ diff --git a/apps/common/test/support/lexical/test/detection_case/suite.ex b/apps/forge/test/support/test/detection_case/suite.ex similarity index 99% rename from apps/common/test/support/lexical/test/detection_case/suite.ex rename to apps/forge/test/support/test/detection_case/suite.ex index 269de3b6..7e531999 100644 --- a/apps/common/test/support/lexical/test/detection_case/suite.ex +++ b/apps/forge/test/support/test/detection_case/suite.ex @@ -1,8 +1,8 @@ -defmodule Lexical.Test.DetectionCase.Suite do +defmodule Forge.Test.DetectionCase.Suite do @moduledoc """ Defines a test suite for the detection case tests. """ - import Lexical.Test.CodeSigil + import Forge.Test.CodeSigil @doc """ Returns a list of tuples where: diff --git a/apps/common/test/support/lexical/test/diagnostic_support.ex b/apps/forge/test/support/test/diagnostic_support.ex similarity index 84% rename from apps/common/test/support/lexical/test/diagnostic_support.ex rename to apps/forge/test/support/test/diagnostic_support.ex index 8ce5a7ea..2e37310e 100644 --- a/apps/common/test/support/lexical/test/diagnostic_support.ex +++ b/apps/forge/test/support/test/diagnostic_support.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Test.DiagnosticSupport do +defmodule Forge.Test.DiagnosticSupport do def execute_if(feature_condition) do matched? = Enum.all?(feature_condition, fn {feature_fn, value} -> diff --git a/apps/common/test/support/lexical/test/document_support.ex b/apps/forge/test/support/test/document_support.ex similarity index 80% rename from apps/common/test/support/lexical/test/document_support.ex rename to apps/forge/test/support/test/document_support.ex index 9c233ce3..2ff235d4 100644 --- a/apps/common/test/support/lexical/test/document_support.ex +++ b/apps/forge/test/support/test/document_support.ex @@ -1,5 +1,5 @@ -defmodule Lexical.Test.DocumentSupport do - alias Lexical.Document +defmodule Forge.Test.DocumentSupport do + alias Forge.Document use ExUnit.CaseTemplate setup do @@ -9,7 +9,7 @@ defmodule Lexical.Test.DocumentSupport do using do quote do - alias Lexical.Document + alias Forge.Document def open_file(file_uri \\ "file:///file.ex", contents) do with :ok <- Document.Store.open(file_uri, contents, 0), diff --git a/apps/common/test/support/lexical/test/eventual_assertions.ex b/apps/forge/test/support/test/eventual_assertions.ex similarity index 97% rename from apps/common/test/support/lexical/test/eventual_assertions.ex rename to apps/forge/test/support/test/eventual_assertions.ex index 7bd37a8e..f3ea17ea 100644 --- a/apps/common/test/support/lexical/test/eventual_assertions.ex +++ b/apps/forge/test/support/test/eventual_assertions.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Test.EventualAssertions do +defmodule Forge.Test.EventualAssertions do @moduledoc """ Assertion macros for an eventually consistent world Sometimes, despite our best efforts, we want to assert that some condition holds, but it doesn't diff --git a/apps/common/test/support/lexical/test/position_support.ex b/apps/forge/test/support/test/position_support.ex similarity index 87% rename from apps/common/test/support/lexical/test/position_support.ex rename to apps/forge/test/support/test/position_support.ex index 71beb19e..3b4cbb56 100644 --- a/apps/common/test/support/lexical/test/position_support.ex +++ b/apps/forge/test/support/test/position_support.ex @@ -1,9 +1,9 @@ -defmodule Lexical.Test.PositionSupport do - alias Lexical.Document.Edit - alias Lexical.Document.Line - alias Lexical.Document.Lines - alias Lexical.Document.Position - alias Lexical.Document.Range +defmodule Forge.Test.PositionSupport do + alias Forge.Document.Edit + alias Forge.Document.Line + alias Forge.Document.Lines + alias Forge.Document.Position + alias Forge.Document.Range import Line diff --git a/apps/common/test/support/lexical/test/quiet.ex b/apps/forge/test/support/test/quiet.ex similarity index 88% rename from apps/common/test/support/lexical/test/quiet.ex rename to apps/forge/test/support/test/quiet.ex index a6778570..91e1d519 100644 --- a/apps/common/test/support/lexical/test/quiet.ex +++ b/apps/forge/test/support/test/quiet.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Test.Quiet do +defmodule Forge.Test.Quiet do import ExUnit.CaptureIO def quiet(io_device \\ :stdio, fun) do diff --git a/apps/common/test/support/lexical/test/range_support.ex b/apps/forge/test/support/test/range_support.ex similarity index 94% rename from apps/common/test/support/lexical/test/range_support.ex rename to apps/forge/test/support/test/range_support.ex index 20ab9845..f82cf162 100644 --- a/apps/common/test/support/lexical/test/range_support.ex +++ b/apps/forge/test/support/test/range_support.ex @@ -1,12 +1,12 @@ -defmodule Lexical.Test.RangeSupport do - alias Lexical.Document - alias Lexical.Document.Position - alias Lexical.Document.Range - alias Lexical.Math - alias Lexical.Test.CursorSupport - alias Lexical.Text - - import Lexical.Document.Line, only: [line: 1] +defmodule Forge.Test.RangeSupport do + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.Math + alias Forge.Test.CursorSupport + alias Forge.Text + + import Forge.Document.Line, only: [line: 1] @range_start_marker "«" @range_end_marker "»" diff --git a/apps/common/test/support/lexical/test/variations.ex b/apps/forge/test/support/test/variations.ex similarity index 95% rename from apps/common/test/support/lexical/test/variations.ex rename to apps/forge/test/support/test/variations.ex index 72854881..febe54d3 100644 --- a/apps/common/test/support/lexical/test/variations.ex +++ b/apps/forge/test/support/test/variations.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Test.Variations do +defmodule Forge.Test.Variations do def wrap_with(:nothing, text) do text end diff --git a/apps/common/test/test_helper.exs b/apps/forge/test/test_helper.exs similarity index 100% rename from apps/common/test/test_helper.exs rename to apps/forge/test/test_helper.exs diff --git a/apps/proto/lib/lexical/proto.ex b/apps/proto/lib/expert/proto.ex similarity index 87% rename from apps/proto/lib/lexical/proto.ex rename to apps/proto/lib/expert/proto.ex index 5cd0aba6..b45dda7b 100644 --- a/apps/proto/lib/lexical/proto.ex +++ b/apps/proto/lib/expert/proto.ex @@ -1,12 +1,12 @@ -defmodule Lexical.Proto do - alias Lexical.Proto.Decoders +defmodule Expert.Proto do + alias Expert.Proto.Decoders defmacro __using__([]) do quote location: :keep do - alias Lexical.Proto - alias Lexical.Proto.LspTypes + alias Expert.Proto + alias Expert.Proto.LspTypes - import Lexical.Proto.TypeFunctions + import Expert.Proto.TypeFunctions import Proto.Alias, only: [defalias: 1] import Proto.Enum, only: [defenum: 1] import Proto.Notification, only: [defnotification: 1, defnotification: 2] diff --git a/apps/proto/lib/lexical/proto/alias.ex b/apps/proto/lib/expert/proto/alias.ex similarity index 84% rename from apps/proto/lib/lexical/proto/alias.ex rename to apps/proto/lib/expert/proto/alias.ex index 854f9ada..0d844da1 100644 --- a/apps/proto/lib/lexical/proto/alias.ex +++ b/apps/proto/lib/expert/proto/alias.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Proto.Alias do - alias Lexical.Proto.CompileMetadata - alias Lexical.Proto.Field - alias Lexical.Proto.Macros.Typespec +defmodule Expert.Proto.Alias do + alias Expert.Proto.CompileMetadata + alias Expert.Proto.Field + alias Expert.Proto.Macros.Typespec defmacro defalias(alias_definition) do caller_module = __CALLER__.module diff --git a/apps/proto/lib/lexical/proto/compile_metadata.ex b/apps/proto/lib/expert/proto/compile_metadata.ex similarity index 97% rename from apps/proto/lib/lexical/proto/compile_metadata.ex rename to apps/proto/lib/expert/proto/compile_metadata.ex index 34e93ec1..60270a02 100644 --- a/apps/proto/lib/lexical/proto/compile_metadata.ex +++ b/apps/proto/lib/expert/proto/compile_metadata.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Proto.CompileMetadata do +defmodule Expert.Proto.CompileMetadata do @moduledoc """ Compile-time storage of protocol metadata """ diff --git a/apps/proto/lib/lexical/proto/convert.ex b/apps/proto/lib/expert/proto/convert.ex similarity index 90% rename from apps/proto/lib/lexical/proto/convert.ex rename to apps/proto/lib/expert/proto/convert.ex index 73c4cfb3..8c44d1fb 100644 --- a/apps/proto/lib/lexical/proto/convert.ex +++ b/apps/proto/lib/expert/proto/convert.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Proto.Convert do - alias Lexical.Convertible - alias Lexical.Document +defmodule Expert.Proto.Convert do + alias Forge.Convertible + alias Forge.Document def to_lsp(%_{result: result} = response) do case Convertible.to_lsp(result) do diff --git a/apps/proto/lib/lexical/proto/decoders.ex b/apps/proto/lib/expert/proto/decoders.ex similarity index 97% rename from apps/proto/lib/lexical/proto/decoders.ex rename to apps/proto/lib/expert/proto/decoders.ex index 91c3eddf..2c2fe4b1 100644 --- a/apps/proto/lib/lexical/proto/decoders.ex +++ b/apps/proto/lib/expert/proto/decoders.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Proto.Decoders do - alias Lexical.Proto.CompileMetadata - alias Lexical.Proto.Typespecs +defmodule Expert.Proto.Decoders do + alias Expert.Proto.CompileMetadata + alias Expert.Proto.Typespecs defmacro for_notifications(_) do notification_modules = CompileMetadata.notification_modules() diff --git a/apps/proto/lib/lexical/proto/enum.ex b/apps/proto/lib/expert/proto/enum.ex similarity index 95% rename from apps/proto/lib/lexical/proto/enum.ex rename to apps/proto/lib/expert/proto/enum.ex index 85df34fd..9db5e43a 100644 --- a/apps/proto/lib/lexical/proto/enum.ex +++ b/apps/proto/lib/expert/proto/enum.ex @@ -1,5 +1,5 @@ -defmodule Lexical.Proto.Enum do - alias Lexical.Proto.Macros.Typespec +defmodule Expert.Proto.Enum do + alias Expert.Proto.Macros.Typespec defmacro defenum(opts) do names = diff --git a/apps/proto/lib/lexical/proto/field.ex b/apps/proto/lib/expert/proto/field.ex similarity index 99% rename from apps/proto/lib/lexical/proto/field.ex rename to apps/proto/lib/expert/proto/field.ex index 043b7248..e90b7cba 100644 --- a/apps/proto/lib/lexical/proto/field.ex +++ b/apps/proto/lib/expert/proto/field.ex @@ -1,5 +1,5 @@ -defmodule Lexical.Proto.Field do - alias Lexical.Proto.Text +defmodule Expert.Proto.Field do + alias Expert.Proto.Text def extract(:any, _, value) do {:ok, value} diff --git a/apps/proto/lib/lexical/proto/lsp_types.ex b/apps/proto/lib/expert/proto/lsp_types.ex similarity index 94% rename from apps/proto/lib/lexical/proto/lsp_types.ex rename to apps/proto/lib/expert/proto/lsp_types.ex index 0d89e9c1..db3180b6 100644 --- a/apps/proto/lib/lexical/proto/lsp_types.ex +++ b/apps/proto/lib/expert/proto/lsp_types.ex @@ -1,5 +1,5 @@ -defmodule Lexical.Proto.LspTypes do - alias Lexical.Proto +defmodule Expert.Proto.LspTypes do + alias Expert.Proto use Proto defmodule ErrorCodes do diff --git a/apps/proto/lib/lexical/proto/macros/access.ex b/apps/proto/lib/expert/proto/macros/access.ex similarity index 95% rename from apps/proto/lib/lexical/proto/macros/access.ex rename to apps/proto/lib/expert/proto/macros/access.ex index feabee15..c5c8b351 100644 --- a/apps/proto/lib/lexical/proto/macros/access.ex +++ b/apps/proto/lib/expert/proto/macros/access.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Proto.Macros.Access do +defmodule Expert.Proto.Macros.Access do def build do quote location: :keep do def fetch(proto, key) when is_map_key(proto, key) do diff --git a/apps/proto/lib/lexical/proto/macros/inspect.ex b/apps/proto/lib/expert/proto/macros/inspect.ex similarity index 95% rename from apps/proto/lib/lexical/proto/macros/inspect.ex rename to apps/proto/lib/expert/proto/macros/inspect.ex index a8a3f72e..a82cc5a7 100644 --- a/apps/proto/lib/lexical/proto/macros/inspect.ex +++ b/apps/proto/lib/expert/proto/macros/inspect.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Proto.Macros.Inspect do +defmodule Expert.Proto.Macros.Inspect do def build(dest_module) do trimmed_name = trim_module_name(dest_module) diff --git a/apps/proto/lib/lexical/proto/macros/json.ex b/apps/proto/lib/expert/proto/macros/json.ex similarity index 95% rename from apps/proto/lib/lexical/proto/macros/json.ex rename to apps/proto/lib/expert/proto/macros/json.ex index 240166fe..6e0193ff 100644 --- a/apps/proto/lib/lexical/proto/macros/json.ex +++ b/apps/proto/lib/expert/proto/macros/json.ex @@ -1,5 +1,5 @@ -defmodule Lexical.Proto.Macros.Json do - alias Lexical.Proto.Field +defmodule Expert.Proto.Macros.Json do + alias Expert.Proto.Field def build(dest_module) do quote location: :keep do diff --git a/apps/proto/lib/lexical/proto/macros/match.ex b/apps/proto/lib/expert/proto/macros/match.ex similarity index 91% rename from apps/proto/lib/lexical/proto/macros/match.ex rename to apps/proto/lib/expert/proto/macros/match.ex index 62252cd0..38ad34d8 100644 --- a/apps/proto/lib/lexical/proto/macros/match.ex +++ b/apps/proto/lib/expert/proto/macros/match.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Proto.Macros.Match do +defmodule Expert.Proto.Macros.Match do def build(field_types, dest_module) do macro_name = dest_module diff --git a/apps/proto/lib/lexical/proto/macros/message.ex b/apps/proto/lib/expert/proto/macros/message.ex similarity index 92% rename from apps/proto/lib/lexical/proto/macros/message.ex rename to apps/proto/lib/expert/proto/macros/message.ex index 06fdadf2..bed22ce1 100644 --- a/apps/proto/lib/lexical/proto/macros/message.ex +++ b/apps/proto/lib/expert/proto/macros/message.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Proto.Macros.Message do - alias Lexical.Document +defmodule Expert.Proto.Macros.Message do + alias Forge.Document - alias Lexical.Proto.Macros.{ + alias Expert.Proto.Macros.{ Access, Meta, Parse, diff --git a/apps/proto/lib/lexical/proto/macros/meta.ex b/apps/proto/lib/expert/proto/macros/meta.ex similarity index 96% rename from apps/proto/lib/lexical/proto/macros/meta.ex rename to apps/proto/lib/expert/proto/macros/meta.ex index 47c4945c..8460ee8c 100644 --- a/apps/proto/lib/lexical/proto/macros/meta.ex +++ b/apps/proto/lib/expert/proto/macros/meta.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Proto.Macros.Meta do +defmodule Expert.Proto.Macros.Meta do def build(opts) do field_types = for {field_name, field_type} <- opts do diff --git a/apps/proto/lib/lexical/proto/macros/parse.ex b/apps/proto/lib/expert/proto/macros/parse.ex similarity index 97% rename from apps/proto/lib/lexical/proto/macros/parse.ex rename to apps/proto/lib/expert/proto/macros/parse.ex index 67d530b7..aa26f8c7 100644 --- a/apps/proto/lib/lexical/proto/macros/parse.ex +++ b/apps/proto/lib/expert/proto/macros/parse.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Proto.Macros.Parse do - alias Lexical.Proto.Field - alias Lexical.Proto.Text +defmodule Expert.Proto.Macros.Parse do + alias Expert.Proto.Field + alias Expert.Proto.Text def build(opts) do {optional_opts, required_opts} = diff --git a/apps/proto/lib/lexical/proto/macros/struct.ex b/apps/proto/lib/expert/proto/macros/struct.ex similarity index 93% rename from apps/proto/lib/lexical/proto/macros/struct.ex rename to apps/proto/lib/expert/proto/macros/struct.ex index af10cda7..fba57123 100644 --- a/apps/proto/lib/lexical/proto/macros/struct.ex +++ b/apps/proto/lib/expert/proto/macros/struct.ex @@ -1,5 +1,5 @@ -defmodule Lexical.Proto.Macros.Struct do - alias Lexical.Proto.Macros.Typespec +defmodule Expert.Proto.Macros.Struct do + alias Expert.Proto.Macros.Typespec def build(opts, env) do keys = Keyword.keys(opts) diff --git a/apps/proto/lib/lexical/proto/macros/typespec.ex b/apps/proto/lib/expert/proto/macros/typespec.ex similarity index 93% rename from apps/proto/lib/lexical/proto/macros/typespec.ex rename to apps/proto/lib/expert/proto/macros/typespec.ex index 80ce0b4e..6aa552a1 100644 --- a/apps/proto/lib/lexical/proto/macros/typespec.ex +++ b/apps/proto/lib/expert/proto/macros/typespec.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Proto.Macros.Typespec do +defmodule Expert.Proto.Macros.Typespec do def typespec(opts \\ [], env \\ nil) def typespec([], _) do @@ -77,11 +77,11 @@ defmodule Lexical.Proto.Macros.Typespec do :Position -> other_alias = case expanded_alias do - Lexical.Document.Range -> - Lexical.Protocol.Types.Range + Forge.Document.Range -> + Expert.Protocol.Types.Range _ -> - Lexical.Document.Range + Forge.Document.Range end quote do @@ -91,11 +91,11 @@ defmodule Lexical.Proto.Macros.Typespec do :Range -> other_alias = case expanded_alias do - Lexical.Document.Range -> - Lexical.Protocol.Types.Range + Forge.Document.Range -> + Expert.Protocol.Types.Range _ -> - Lexical.Document.Range + Forge.Document.Range end quote do diff --git a/apps/proto/lib/lexical/proto/notification.ex b/apps/proto/lib/expert/proto/notification.ex similarity index 95% rename from apps/proto/lib/lexical/proto/notification.ex rename to apps/proto/lib/expert/proto/notification.ex index 1cfefc59..54cd10fa 100644 --- a/apps/proto/lib/lexical/proto/notification.ex +++ b/apps/proto/lib/expert/proto/notification.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Proto.Notification do - alias Lexical.Proto.CompileMetadata - alias Lexical.Proto.Macros.Message +defmodule Expert.Proto.Notification do + alias Expert.Proto.CompileMetadata + alias Expert.Proto.Macros.Message defmacro defnotification(method) do do_defnotification(method, [], __CALLER__) diff --git a/apps/proto/lib/lexical/proto/request.ex b/apps/proto/lib/expert/proto/request.ex similarity index 94% rename from apps/proto/lib/lexical/proto/request.ex rename to apps/proto/lib/expert/proto/request.ex index 72163551..be98645c 100644 --- a/apps/proto/lib/lexical/proto/request.ex +++ b/apps/proto/lib/expert/proto/request.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Proto.Request do - alias Lexical.Proto.CompileMetadata - alias Lexical.Proto.Macros.Message - alias Lexical.Proto.TypeFunctions +defmodule Expert.Proto.Request do + alias Expert.Proto.CompileMetadata + alias Expert.Proto.Macros.Message + alias Expert.Proto.TypeFunctions import TypeFunctions, only: [optional: 1, literal: 1] @@ -76,8 +76,8 @@ defmodule Lexical.Proto.Request do end end - alias Lexical.Proto.Convert - alias Lexical.Protocol.Types + alias Expert.Proto.Convert + alias Expert.Protocol.Types unquote( Message.build({:request, :elixir}, method, elixir_types, param_names, caller, diff --git a/apps/proto/lib/lexical/proto/response.ex b/apps/proto/lib/expert/proto/response.ex similarity index 90% rename from apps/proto/lib/lexical/proto/response.ex rename to apps/proto/lib/expert/proto/response.ex index 84b26e75..b8c70999 100644 --- a/apps/proto/lib/lexical/proto/response.ex +++ b/apps/proto/lib/expert/proto/response.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Proto.Response do - alias Lexical.Proto.CompileMetadata +defmodule Expert.Proto.Response do + alias Expert.Proto.CompileMetadata - alias Lexical.Proto.Macros.{ + alias Expert.Proto.Macros.{ Access, Meta, Parse, @@ -14,12 +14,12 @@ defmodule Lexical.Proto.Response do jsonrpc_types = [ id: quote(do: optional(one_of([integer(), string()]))), - error: quote(do: optional(Lexical.Proto.LspTypes.ResponseError)), + error: quote(do: optional(Expert.Proto.LspTypes.ResponseError)), result: quote(do: optional(unquote(response_type))) ] quote location: :keep do - alias Lexical.Proto.LspTypes + alias Expert.Proto.LspTypes unquote(Access.build()) unquote(Struct.build(jsonrpc_types, __CALLER__)) @type t :: unquote(Typespec.typespec()) diff --git a/apps/proto/lib/lexical/proto/text.ex b/apps/proto/lib/expert/proto/text.ex similarity index 87% rename from apps/proto/lib/lexical/proto/text.ex rename to apps/proto/lib/expert/proto/text.ex index 0c51d2bb..c6c8195e 100644 --- a/apps/proto/lib/lexical/proto/text.ex +++ b/apps/proto/lib/expert/proto/text.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Proto.Text do +defmodule Expert.Proto.Text do def camelize(atom) when is_atom(atom) do atom |> Atom.to_string() |> camelize() end diff --git a/apps/proto/lib/lexical/proto/type.ex b/apps/proto/lib/expert/proto/type.ex similarity index 88% rename from apps/proto/lib/lexical/proto/type.ex rename to apps/proto/lib/expert/proto/type.ex index 385cad84..38cf6ad4 100644 --- a/apps/proto/lib/lexical/proto/type.ex +++ b/apps/proto/lib/expert/proto/type.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Proto.Type do - alias Lexical.Proto.CompileMetadata +defmodule Expert.Proto.Type do + alias Expert.Proto.CompileMetadata - alias Lexical.Proto.Macros.{ + alias Expert.Proto.Macros.{ Access, Inspect, Json, diff --git a/apps/proto/lib/lexical/proto/type_functions.ex b/apps/proto/lib/expert/proto/type_functions.ex similarity index 94% rename from apps/proto/lib/lexical/proto/type_functions.ex rename to apps/proto/lib/expert/proto/type_functions.ex index 0cd0e3b7..86137dc0 100644 --- a/apps/proto/lib/lexical/proto/type_functions.ex +++ b/apps/proto/lib/expert/proto/type_functions.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Proto.TypeFunctions do +defmodule Expert.Proto.TypeFunctions do def integer do :integer end diff --git a/apps/proto/lib/lexical/proto/typespecs.ex b/apps/proto/lib/expert/proto/typespecs.ex similarity index 93% rename from apps/proto/lib/lexical/proto/typespecs.ex rename to apps/proto/lib/expert/proto/typespecs.ex index 41112300..552a911c 100644 --- a/apps/proto/lib/lexical/proto/typespecs.ex +++ b/apps/proto/lib/expert/proto/typespecs.ex @@ -1,5 +1,5 @@ -defmodule Lexical.Proto.Typespecs do - alias Lexical.Proto.CompileMetadata +defmodule Expert.Proto.Typespecs do + alias Expert.Proto.CompileMetadata defmacro __using__(opts) do group_name = Keyword.fetch!(opts, :for) diff --git a/apps/proto/lib/mix/tasks/lsp/data_model/type.ex b/apps/proto/lib/mix/tasks/lsp/data_model/type.ex index a6f6e359..adcf45cd 100644 --- a/apps/proto/lib/mix/tasks/lsp/data_model/type.ex +++ b/apps/proto/lib/mix/tasks/lsp/data_model/type.ex @@ -38,7 +38,7 @@ defmodule Mix.Tasks.Lsp.DataModel.Type do "null" -> quote(do: nil) "DocumentUri" -> quote(do: String.t()) "decimal" -> quote(do: float()) - "URI" -> quote(do: Lexical.uri()) + "URI" -> quote(do: Expert.uri()) end end diff --git a/apps/proto/lib/mix/tasks/lsp/mappings.ex b/apps/proto/lib/mix/tasks/lsp/mappings.ex index 8e4fe768..94cc60ed 100644 --- a/apps/proto/lib/mix/tasks/lsp/mappings.ex +++ b/apps/proto/lib/mix/tasks/lsp/mappings.ex @@ -17,8 +17,8 @@ defmodule Mix.Tasks.Lsp.Mappings do end end - @types_module Lexical.Protocol.Types - @proto_module Lexical.Proto + @types_module Expert.Protocol.Types + @proto_module Expert.Proto defstruct [:mappings, :imported_lsp_names, :types_module, :proto_module] diff --git a/apps/proto/lib/mix/tasks/lsp/mappings/generate.ex b/apps/proto/lib/mix/tasks/lsp/mappings/generate.ex index ab98d78c..f7cfd4fa 100644 --- a/apps/proto/lib/mix/tasks/lsp/mappings/generate.ex +++ b/apps/proto/lib/mix/tasks/lsp/mappings/generate.ex @@ -16,9 +16,9 @@ defmodule Mix.Tasks.Lsp.Mappings.Generate do ## Command line options * `--types-module` - Controls the module in which the generated structures are placed. - (defaults to `Lexical.Protocol.Types`) + (defaults to `Expert.Protocol.Types`) * `--proto-module` - Controls the module in which the generated structures are placed. - (defaults to `Lexical.Proto`) + (defaults to `Expert.Proto`) * `--only` - Only generate the LSP types in the comma separated list * `--roots` - A comma separated list of types to import. The types given will be interrogated and all their references will also be imported. This is useful when importing complex structures, diff --git a/apps/proto/mix.exs b/apps/proto/mix.exs index fda25348..03b5d844 100644 --- a/apps/proto/mix.exs +++ b/apps/proto/mix.exs @@ -23,7 +23,7 @@ defmodule Proto.MixProject do # Run "mix help deps" to learn about dependencies. defp deps do [ - {:common, path: "../common", env: Mix.env()}, + {:forge, path: "../forge", env: Mix.env()}, Mix.Credo.dependency(), Mix.Dialyzer.dependency(), {:jason, "~> 1.4", optional: true} diff --git a/apps/protocol/README.md b/apps/protocol/README.md index c6725d7c..dc900400 100644 --- a/apps/protocol/README.md +++ b/apps/protocol/README.md @@ -1,3 +1,3 @@ -# Lexical.Protocol +# Expert.Protocol Language Server Protocol data structures and conversion utilities. diff --git a/apps/protocol/lib/lexical/protocol/conversions.ex b/apps/protocol/lib/expert/protocol/conversions.ex similarity index 93% rename from apps/protocol/lib/lexical/protocol/conversions.ex rename to apps/protocol/lib/expert/protocol/conversions.ex index 26dc384c..2b46f6a7 100644 --- a/apps/protocol/lib/lexical/protocol/conversions.ex +++ b/apps/protocol/lib/expert/protocol/conversions.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Protocol.Conversions do +defmodule Expert.Protocol.Conversions do @moduledoc """ Functions to convert between language server representations and elixir-native representations. @@ -7,15 +7,15 @@ defmodule Lexical.Protocol.Conversions do the line contains non-ascii characters. If it's a pure ascii line, then the positions are the same in both utf-8 and utf-16, since they reference characters and not bytes. """ - alias Lexical.CodeUnit - alias Lexical.Document - alias Lexical.Document.Line - alias Lexical.Document.Lines - alias Lexical.Document.Position, as: ElixirPosition - alias Lexical.Document.Range, as: ElixirRange - alias Lexical.Math - alias Lexical.Protocol.Types.Position, as: LSPosition - alias Lexical.Protocol.Types.Range, as: LSRange + alias Forge.CodeUnit + alias Forge.Document + alias Forge.Document.Line + alias Forge.Document.Lines + alias Forge.Document.Position, as: ElixirPosition + alias Forge.Document.Range, as: ElixirRange + alias Forge.Math + alias Expert.Protocol.Types.Position, as: LSPosition + alias Expert.Protocol.Types.Range, as: LSRange import Line diff --git a/apps/protocol/lib/lexical/protocol/convertibles/lexical.document.changes.ex b/apps/protocol/lib/expert/protocol/convertibles/expert.document.changes.ex similarity index 50% rename from apps/protocol/lib/lexical/protocol/convertibles/lexical.document.changes.ex rename to apps/protocol/lib/expert/protocol/convertibles/expert.document.changes.ex index 71409905..fbef3f52 100644 --- a/apps/protocol/lib/lexical/protocol/convertibles/lexical.document.changes.ex +++ b/apps/protocol/lib/expert/protocol/convertibles/expert.document.changes.ex @@ -1,8 +1,8 @@ -defimpl Lexical.Convertible, for: Lexical.Document.Changes do - alias Lexical.Document +defimpl Forge.Convertible, for: Forge.Document.Changes do + alias Forge.Document def to_lsp(%Document.Changes{} = changes) do - Lexical.Convertible.to_lsp(changes.edits) + Forge.Convertible.to_lsp(changes.edits) end def to_native(%Document.Changes{} = changes, _) do diff --git a/apps/protocol/lib/lexical/protocol/convertibles/lexical.document.edit.ex b/apps/protocol/lib/expert/protocol/convertibles/expert.document.edit.ex similarity index 72% rename from apps/protocol/lib/lexical/protocol/convertibles/lexical.document.edit.ex rename to apps/protocol/lib/expert/protocol/convertibles/expert.document.edit.ex index 8c10ed34..53922035 100644 --- a/apps/protocol/lib/lexical/protocol/convertibles/lexical.document.edit.ex +++ b/apps/protocol/lib/expert/protocol/convertibles/expert.document.edit.ex @@ -1,7 +1,7 @@ -defimpl Lexical.Convertible, for: Lexical.Document.Edit do - alias Lexical.Document - alias Lexical.Protocol.Conversions - alias Lexical.Protocol.Types +defimpl Forge.Convertible, for: Forge.Document.Edit do + alias Expert.Protocol.Conversions + alias Expert.Protocol.Types + alias Forge.Document def to_lsp(%Document.Edit{range: nil} = edit) do {:ok, Types.TextEdit.new(new_text: edit.text, range: nil)} diff --git a/apps/protocol/lib/lexical/protocol/convertibles/lexical.document.location.ex b/apps/protocol/lib/expert/protocol/convertibles/expert.document.location.ex similarity index 67% rename from apps/protocol/lib/lexical/protocol/convertibles/lexical.document.location.ex rename to apps/protocol/lib/expert/protocol/convertibles/expert.document.location.ex index 3722867a..8fc353d9 100644 --- a/apps/protocol/lib/lexical/protocol/convertibles/lexical.document.location.ex +++ b/apps/protocol/lib/expert/protocol/convertibles/expert.document.location.ex @@ -1,7 +1,7 @@ -defimpl Lexical.Convertible, for: Lexical.Document.Location do - alias Lexical.Document - alias Lexical.Protocol.Conversions - alias Lexical.Protocol.Types +defimpl Forge.Convertible, for: Forge.Document.Location do + alias Expert.Protocol.Conversions + alias Expert.Protocol.Types + alias Forge.Document def to_lsp(%Document.Location{} = location) do with {:ok, range} <- Conversions.to_lsp(location.range) do diff --git a/apps/protocol/lib/lexical/protocol/convertibles/lexical.document.position.ex b/apps/protocol/lib/expert/protocol/convertibles/expert.document.position.ex similarity index 60% rename from apps/protocol/lib/lexical/protocol/convertibles/lexical.document.position.ex rename to apps/protocol/lib/expert/protocol/convertibles/expert.document.position.ex index 5a6b44cf..b2a251af 100644 --- a/apps/protocol/lib/lexical/protocol/convertibles/lexical.document.position.ex +++ b/apps/protocol/lib/expert/protocol/convertibles/expert.document.position.ex @@ -1,6 +1,6 @@ -defimpl Lexical.Convertible, for: Lexical.Document.Position do - alias Lexical.Document - alias Lexical.Protocol.Conversions +defimpl Forge.Convertible, for: Forge.Document.Position do + alias Expert.Protocol.Conversions + alias Forge.Document def to_lsp(%Document.Position{} = position) do Conversions.to_lsp(position) diff --git a/apps/protocol/lib/lexical/protocol/convertibles/lexical.document.range.ex b/apps/protocol/lib/expert/protocol/convertibles/expert.document.range.ex similarity index 58% rename from apps/protocol/lib/lexical/protocol/convertibles/lexical.document.range.ex rename to apps/protocol/lib/expert/protocol/convertibles/expert.document.range.ex index 019f6900..f653a855 100644 --- a/apps/protocol/lib/lexical/protocol/convertibles/lexical.document.range.ex +++ b/apps/protocol/lib/expert/protocol/convertibles/expert.document.range.ex @@ -1,6 +1,6 @@ -defimpl Lexical.Convertible, for: Lexical.Document.Range do - alias Lexical.Document - alias Lexical.Protocol.Conversions +defimpl Forge.Convertible, for: Forge.Document.Range do + alias Expert.Protocol.Conversions + alias Forge.Document def to_lsp(%Document.Range{} = range) do Conversions.to_lsp(range) diff --git a/apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.location.ex b/apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.location.ex similarity index 71% rename from apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.location.ex rename to apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.location.ex index b9f78828..8f5e8da0 100644 --- a/apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.location.ex +++ b/apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.location.ex @@ -1,8 +1,8 @@ -defimpl Lexical.Convertible, for: Lexical.Protocol.Types.Location do - alias Lexical.Document - alias Lexical.Document.Container - alias Lexical.Protocol.Conversions - alias Lexical.Protocol.Types +defimpl Forge.Convertible, for: Expert.Protocol.Types.Location do + alias Expert.Protocol.Conversions + alias Expert.Protocol.Types + alias Forge.Document.Container + alias Forge.Document def to_lsp(%Types.Location{} = location) do with {:ok, range} <- Conversions.to_lsp(location.range) do diff --git a/apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.position.ex b/apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.position.ex similarity index 61% rename from apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.position.ex rename to apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.position.ex index b9821b03..9c2c7c06 100644 --- a/apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.position.ex +++ b/apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.position.ex @@ -1,6 +1,6 @@ -defimpl Lexical.Convertible, for: Lexical.Protocol.Types.Position do - alias Lexical.Protocol.Conversions - alias Lexical.Protocol.Types +defimpl Forge.Convertible, for: Expert.Protocol.Types.Position do + alias Expert.Protocol.Conversions + alias Expert.Protocol.Types def to_lsp(%Types.Position{} = position) do Conversions.to_lsp(position) diff --git a/apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.range.ex b/apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.range.ex similarity index 81% rename from apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.range.ex rename to apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.range.ex index 0c1e9ec6..11b1198d 100644 --- a/apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.range.ex +++ b/apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.range.ex @@ -1,6 +1,6 @@ -defimpl Lexical.Convertible, for: Lexical.Protocol.Types.Range do - alias Lexical.Protocol.Conversions - alias Lexical.Protocol.Types +defimpl Forge.Convertible, for: Expert.Protocol.Types.Range do + alias Expert.Protocol.Conversions + alias Expert.Protocol.Types def to_lsp(%Types.Range{} = range) do Conversions.to_lsp(range) diff --git a/apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.text_document.content_change_event1.ex b/apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.text_document.content_change_event1.ex similarity index 70% rename from apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.text_document.content_change_event1.ex rename to apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.text_document.content_change_event1.ex index 11d9f743..7623f95f 100644 --- a/apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.text_document.content_change_event1.ex +++ b/apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.text_document.content_change_event1.ex @@ -1,6 +1,6 @@ -alias Lexical.Convertible -alias Lexical.Document.Edit -alias Lexical.Protocol.Types.TextDocument.ContentChangeEvent +alias Forge.Convertible +alias Forge.Document.Edit +alias Expert.Protocol.Types.TextDocument.ContentChangeEvent defimpl Convertible, for: ContentChangeEvent.TextDocumentContentChangeEvent1 do def to_lsp(event) do diff --git a/apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.text_edit.ex b/apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.text_edit.ex similarity index 78% rename from apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.text_edit.ex rename to apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.text_edit.ex index 026bf2d5..989e6094 100644 --- a/apps/protocol/lib/lexical/protocol/convertibles/lexical.protocol.types.text_edit.ex +++ b/apps/protocol/lib/expert/protocol/convertibles/expert.protocol.types.text_edit.ex @@ -1,7 +1,7 @@ -defimpl Lexical.Convertible, for: Lexical.Protocol.Types.TextEdit do - alias Lexical.Document - alias Lexical.Protocol.Conversions - alias Lexical.Protocol.Types +defimpl Forge.Convertible, for: Expert.Protocol.Types.TextEdit do + alias Expert.Protocol.Conversions + alias Expert.Protocol.Types + alias Forge.Document def to_lsp(%Types.TextEdit{} = text_edit) do with {:ok, range} <- Conversions.to_lsp(text_edit.range) do diff --git a/apps/protocol/lib/lexical/protocol/document_containers/lexical.document.changes.ex b/apps/protocol/lib/expert/protocol/document_containers/expert.document.changes.ex similarity index 58% rename from apps/protocol/lib/lexical/protocol/document_containers/lexical.document.changes.ex rename to apps/protocol/lib/expert/protocol/document_containers/expert.document.changes.ex index 153925d8..1aa1fc99 100644 --- a/apps/protocol/lib/lexical/protocol/document_containers/lexical.document.changes.ex +++ b/apps/protocol/lib/expert/protocol/document_containers/expert.document.changes.ex @@ -1,5 +1,5 @@ -defimpl Lexical.Document.Container, for: Lexical.Document.Changes do - alias Lexical.Document +defimpl Forge.Document.Container, for: Forge.Document.Changes do + alias Forge.Document def context_document(%Document.Changes{} = edits, prior_context_document) do edits.document || prior_context_document diff --git a/apps/protocol/lib/lexical/protocol/document_containers/lexical.document.location.ex b/apps/protocol/lib/expert/protocol/document_containers/expert.document.location.ex similarity index 72% rename from apps/protocol/lib/lexical/protocol/document_containers/lexical.document.location.ex rename to apps/protocol/lib/expert/protocol/document_containers/expert.document.location.ex index 6cf06881..96c8edea 100644 --- a/apps/protocol/lib/lexical/protocol/document_containers/lexical.document.location.ex +++ b/apps/protocol/lib/expert/protocol/document_containers/expert.document.location.ex @@ -1,6 +1,6 @@ -defimpl Lexical.Document.Container, for: Lexical.Document.Location do - alias Lexical.Document - alias Lexical.Document.Location +defimpl Forge.Document.Container, for: Forge.Document.Location do + alias Forge.Document + alias Forge.Document.Location def context_document(%Location{document: %Document{} = context_document}, _) do context_document diff --git a/apps/protocol/lib/lexical/protocol/document_containers/lexical.notifications.publish_diagnostics.ex b/apps/protocol/lib/expert/protocol/document_containers/expert.notifications.publish_diagnostics.ex similarity index 71% rename from apps/protocol/lib/lexical/protocol/document_containers/lexical.notifications.publish_diagnostics.ex rename to apps/protocol/lib/expert/protocol/document_containers/expert.notifications.publish_diagnostics.ex index ef3fd8d7..0344f066 100644 --- a/apps/protocol/lib/lexical/protocol/document_containers/lexical.notifications.publish_diagnostics.ex +++ b/apps/protocol/lib/expert/protocol/document_containers/expert.notifications.publish_diagnostics.ex @@ -1,6 +1,6 @@ -defimpl Lexical.Document.Container, for: Lexical.Protocol.Notifications.PublishDiagnostics do - alias Lexical.Document - alias Lexical.Protocol.Notifications.PublishDiagnostics +defimpl Forge.Document.Container, for: Expert.Protocol.Notifications.PublishDiagnostics do + alias Expert.Protocol.Notifications.PublishDiagnostics + alias Forge.Document require Logger def context_document(%PublishDiagnostics{uri: uri} = publish, context_document) diff --git a/apps/protocol/lib/lexical/protocol/document_containers/lexical.protocol.types.location.ex b/apps/protocol/lib/expert/protocol/document_containers/expert.protocol.types.location.ex similarity index 59% rename from apps/protocol/lib/lexical/protocol/document_containers/lexical.protocol.types.location.ex rename to apps/protocol/lib/expert/protocol/document_containers/expert.protocol.types.location.ex index f73b52c5..518f06c8 100644 --- a/apps/protocol/lib/lexical/protocol/document_containers/lexical.protocol.types.location.ex +++ b/apps/protocol/lib/expert/protocol/document_containers/expert.protocol.types.location.ex @@ -1,6 +1,6 @@ -defimpl Lexical.Document.Container, for: Lexical.Protocol.Types.Location do - alias Lexical.Document - alias Lexical.Protocol.Types +defimpl Forge.Document.Container, for: Expert.Protocol.Types.Location do + alias Expert.Protocol.Types + alias Forge.Document def context_document(%Types.Location{} = location, parent_document) do case Document.Store.fetch(location.uri) do diff --git a/apps/protocol/lib/lexical/protocol/id.ex b/apps/protocol/lib/expert/protocol/id.ex similarity index 75% rename from apps/protocol/lib/lexical/protocol/id.ex rename to apps/protocol/lib/expert/protocol/id.ex index 4e3a28d3..220f0fe0 100644 --- a/apps/protocol/lib/lexical/protocol/id.ex +++ b/apps/protocol/lib/expert/protocol/id.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Protocol.Id do +defmodule Expert.Protocol.Id do def next do [:monotonic, :positive] |> System.unique_integer() diff --git a/apps/protocol/lib/lexical/protocol/json_rpc.ex b/apps/protocol/lib/expert/protocol/json_rpc.ex similarity index 92% rename from apps/protocol/lib/lexical/protocol/json_rpc.ex rename to apps/protocol/lib/expert/protocol/json_rpc.ex index 970bf220..5f0139ae 100644 --- a/apps/protocol/lib/lexical/protocol/json_rpc.ex +++ b/apps/protocol/lib/expert/protocol/json_rpc.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Protocol.JsonRpc do - alias Lexical.Protocol.Notifications - alias Lexical.Protocol.Requests +defmodule Expert.Protocol.JsonRpc do + alias Expert.Protocol.Notifications + alias Expert.Protocol.Requests require Logger diff --git a/apps/protocol/lib/lexical/protocol/notifications.ex b/apps/protocol/lib/expert/protocol/notifications.ex similarity index 95% rename from apps/protocol/lib/lexical/protocol/notifications.ex rename to apps/protocol/lib/expert/protocol/notifications.ex index d6b98de4..5a034be3 100644 --- a/apps/protocol/lib/lexical/protocol/notifications.ex +++ b/apps/protocol/lib/expert/protocol/notifications.ex @@ -1,6 +1,6 @@ -defmodule Lexical.Protocol.Notifications do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Notifications do + alias Expert.Proto + alias Expert.Protocol.Types defmodule Initialized do use Proto diff --git a/apps/protocol/lib/lexical/protocol/requests.ex b/apps/protocol/lib/expert/protocol/requests.ex similarity index 94% rename from apps/protocol/lib/lexical/protocol/requests.ex rename to apps/protocol/lib/expert/protocol/requests.ex index 29ac9f72..a761832f 100644 --- a/apps/protocol/lib/lexical/protocol/requests.ex +++ b/apps/protocol/lib/expert/protocol/requests.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Protocol.Requests do - alias Lexical.Proto - alias Lexical.Protocol.Responses - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Requests do + alias Expert.Proto + alias Expert.Protocol.Responses + alias Expert.Protocol.Types # Client -> Server request defmodule Initialize do diff --git a/apps/protocol/lib/lexical/protocol/responses.ex b/apps/protocol/lib/expert/protocol/responses.ex similarity index 92% rename from apps/protocol/lib/lexical/protocol/responses.ex rename to apps/protocol/lib/expert/protocol/responses.ex index 847805dd..9f57284f 100644 --- a/apps/protocol/lib/lexical/protocol/responses.ex +++ b/apps/protocol/lib/expert/protocol/responses.ex @@ -1,7 +1,7 @@ -defmodule Lexical.Protocol.Responses do - alias Lexical.Proto - alias Lexical.Proto.Typespecs - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Responses do + alias Expert.Proto + alias Expert.Proto.Typespecs + alias Expert.Protocol.Types defmodule Empty do use Proto diff --git a/apps/protocol/lib/generated/lexical/protocol/types/inline_value/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/call_hierarchy/client_capabilities.ex similarity index 58% rename from apps/protocol/lib/generated/lexical/protocol/types/inline_value/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/call_hierarchy/client_capabilities.ex index 59be7e80..5e9dc4e0 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/inline_value/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/call_hierarchy/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.InlineValue.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.CallHierarchy.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/declaration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/call_hierarchy/options.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/declaration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/call_hierarchy/options.ex index e343d91f..9dd4a126 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/declaration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/call_hierarchy/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Declaration.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.CallHierarchy.Options do + alias Expert.Proto use Proto deftype work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/folding_range/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/call_hierarchy/registration/options.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/folding_range/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/call_hierarchy/registration/options.ex index c45bfad9..9faa191c 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/folding_range/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/call_hierarchy/registration/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FoldingRange.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.CallHierarchy.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype document_selector: one_of([Types.Document.Selector, nil]), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/cancel/params.ex b/apps/protocol/lib/generated/expert/protocol/types/cancel/params.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/cancel/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/cancel/params.ex index 7057bf34..a9587430 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/cancel/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/cancel/params.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Cancel.Params do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Cancel.Params do + alias Expert.Proto use Proto deftype id: one_of([integer(), string()]) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/change_annotation.ex b/apps/protocol/lib/generated/expert/protocol/types/change_annotation.ex similarity index 72% rename from apps/protocol/lib/generated/lexical/protocol/types/change_annotation.ex rename to apps/protocol/lib/generated/expert/protocol/types/change_annotation.ex index f24bbcb4..196d6b5f 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/change_annotation.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/change_annotation.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ChangeAnnotation do - alias Lexical.Proto +defmodule Expert.Protocol.Types.ChangeAnnotation do + alias Expert.Proto use Proto deftype description: optional(string()), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/change_annotation/identifier.ex b/apps/protocol/lib/generated/expert/protocol/types/change_annotation/identifier.ex similarity index 56% rename from apps/protocol/lib/generated/lexical/protocol/types/change_annotation/identifier.ex rename to apps/protocol/lib/generated/expert/protocol/types/change_annotation/identifier.ex index e97f4ef3..31f55063 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/change_annotation/identifier.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/change_annotation/identifier.ex @@ -1,4 +1,4 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ChangeAnnotation.Identifier do +defmodule Expert.Protocol.Types.ChangeAnnotation.Identifier do @type t :: String.t() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/client_capabilities.ex similarity index 81% rename from apps/protocol/lib/generated/lexical/protocol/types/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/client_capabilities.ex index 44eab9e0..a9738a63 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype experimental: optional(any()), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_action.ex b/apps/protocol/lib/generated/expert/protocol/types/code_action.ex similarity index 72% rename from apps/protocol/lib/generated/lexical/protocol/types/code_action.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_action.ex index 1326b6d4..3ad16db4 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_action.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_action.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeAction do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.CodeAction do + alias Expert.Proto + alias Expert.Protocol.Types defmodule Disabled do use Proto @@ -13,7 +13,7 @@ defmodule Lexical.Protocol.Types.CodeAction do deftype command: optional(Types.Command), data: optional(any()), diagnostics: optional(list_of(Types.Diagnostic)), - disabled: optional(Lexical.Protocol.Types.CodeAction.Disabled), + disabled: optional(Expert.Protocol.Types.CodeAction.Disabled), edit: optional(Types.Workspace.Edit), is_preferred: optional(boolean()), kind: optional(Types.CodeAction.Kind), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_action/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/code_action/client_capabilities.ex similarity index 60% rename from apps/protocol/lib/generated/lexical/protocol/types/code_action/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_action/client_capabilities.ex index d5369cb8..83989aae 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_action/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_action/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeAction.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.CodeAction.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types defmodule CodeActionKind do use Proto @@ -10,7 +10,7 @@ defmodule Lexical.Protocol.Types.CodeAction.ClientCapabilities do defmodule CodeActionLiteralSupport do use Proto - deftype code_action_kind: Lexical.Protocol.Types.CodeAction.ClientCapabilities.CodeActionKind + deftype code_action_kind: Expert.Protocol.Types.CodeAction.ClientCapabilities.CodeActionKind end defmodule ResolveSupport do @@ -21,14 +21,12 @@ defmodule Lexical.Protocol.Types.CodeAction.ClientCapabilities do use Proto deftype code_action_literal_support: - optional( - Lexical.Protocol.Types.CodeAction.ClientCapabilities.CodeActionLiteralSupport - ), + optional(Expert.Protocol.Types.CodeAction.ClientCapabilities.CodeActionLiteralSupport), data_support: optional(boolean()), disabled_support: optional(boolean()), dynamic_registration: optional(boolean()), honors_change_annotations: optional(boolean()), is_preferred_support: optional(boolean()), resolve_support: - optional(Lexical.Protocol.Types.CodeAction.ClientCapabilities.ResolveSupport) + optional(Expert.Protocol.Types.CodeAction.ClientCapabilities.ResolveSupport) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_action/context.ex b/apps/protocol/lib/generated/expert/protocol/types/code_action/context.ex similarity index 69% rename from apps/protocol/lib/generated/lexical/protocol/types/code_action/context.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_action/context.ex index a6f2861d..749652c5 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_action/context.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_action/context.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeAction.Context do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.CodeAction.Context do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype diagnostics: list_of(Types.Diagnostic), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_action/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/code_action/kind.ex similarity index 85% rename from apps/protocol/lib/generated/lexical/protocol/types/code_action/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_action/kind.ex index 610a501b..cb271df6 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_action/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_action/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeAction.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.CodeAction.Kind do + alias Expert.Proto use Proto defenum empty: "", diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_action/options.ex b/apps/protocol/lib/generated/expert/protocol/types/code_action/options.ex similarity index 69% rename from apps/protocol/lib/generated/lexical/protocol/types/code_action/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_action/options.ex index eb7098e8..a6291e17 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_action/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_action/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeAction.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.CodeAction.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype code_action_kinds: optional(list_of(Types.CodeAction.Kind)), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_action/params.ex b/apps/protocol/lib/generated/expert/protocol/types/code_action/params.ex similarity index 75% rename from apps/protocol/lib/generated/lexical/protocol/types/code_action/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_action/params.ex index ee680a50..12606d1a 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_action/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_action/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeAction.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.CodeAction.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype context: Types.CodeAction.Context, diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_action/trigger/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/code_action/trigger/kind.ex similarity index 56% rename from apps/protocol/lib/generated/lexical/protocol/types/code_action/trigger/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_action/trigger/kind.ex index 58fda509..1964bc3c 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_action/trigger/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_action/trigger/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeAction.Trigger.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.CodeAction.Trigger.Kind do + alias Expert.Proto use Proto defenum invoked: 1, automatic: 2 end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_description.ex b/apps/protocol/lib/generated/expert/protocol/types/code_description.ex similarity index 56% rename from apps/protocol/lib/generated/lexical/protocol/types/code_description.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_description.ex index 78924f15..d2bc8cb3 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_description.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_description.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeDescription do - alias Lexical.Proto +defmodule Expert.Protocol.Types.CodeDescription do + alias Expert.Proto use Proto deftype href: string() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_lens.ex b/apps/protocol/lib/generated/expert/protocol/types/code_lens.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/code_lens.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_lens.ex index fb2cff13..1c2e8d95 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_lens.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_lens.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeLens do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.CodeLens do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype command: optional(Types.Command), data: optional(any()), range: Types.Range end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/moniker/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/code_lens/client_capabilities.ex similarity index 59% rename from apps/protocol/lib/generated/lexical/protocol/types/moniker/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_lens/client_capabilities.ex index 224cde61..0ef685c8 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/moniker/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_lens/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Moniker.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.CodeLens.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_lens/options.ex b/apps/protocol/lib/generated/expert/protocol/types/code_lens/options.ex similarity index 68% rename from apps/protocol/lib/generated/lexical/protocol/types/code_lens/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_lens/options.ex index 648ceac8..271a98eb 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_lens/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_lens/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeLens.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.CodeLens.Options do + alias Expert.Proto use Proto deftype resolve_provider: optional(boolean()), work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_lens/params.ex b/apps/protocol/lib/generated/expert/protocol/types/code_lens/params.ex similarity index 70% rename from apps/protocol/lib/generated/lexical/protocol/types/code_lens/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_lens/params.ex index d2349151..2e5df794 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_lens/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_lens/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeLens.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.CodeLens.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype partial_result_token: optional(Types.Progress.Token), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_lens/workspace/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/code_lens/workspace/client_capabilities.ex similarity index 55% rename from apps/protocol/lib/generated/lexical/protocol/types/code_lens/workspace/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/code_lens/workspace/client_capabilities.ex index f6075c43..10610323 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_lens/workspace/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/code_lens/workspace/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeLens.Workspace.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.CodeLens.Workspace.ClientCapabilities do + alias Expert.Proto use Proto deftype refresh_support: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/command.ex b/apps/protocol/lib/generated/expert/protocol/types/command.ex similarity index 70% rename from apps/protocol/lib/generated/lexical/protocol/types/command.ex rename to apps/protocol/lib/generated/expert/protocol/types/command.ex index 2afbdf4b..4d6704d3 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/command.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/command.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Command do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Command do + alias Expert.Proto use Proto deftype arguments: optional(list_of(any())), command: string(), title: string() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/completion/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/completion/client_capabilities.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/completion/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/completion/client_capabilities.ex index f880a8fe..e998fd22 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/completion/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/completion/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Completion.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Completion.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types defmodule CompletionItem do use Proto @@ -11,13 +11,13 @@ defmodule Lexical.Protocol.Types.Completion.ClientCapabilities do documentation_format: optional(list_of(Types.Markup.Kind)), insert_replace_support: optional(boolean()), insert_text_mode_support: - optional(Lexical.Protocol.Types.Completion.ClientCapabilities.InsertTextModeSupport), + optional(Expert.Protocol.Types.Completion.ClientCapabilities.InsertTextModeSupport), label_details_support: optional(boolean()), preselect_support: optional(boolean()), resolve_support: - optional(Lexical.Protocol.Types.Completion.ClientCapabilities.ResolveSupport), + optional(Expert.Protocol.Types.Completion.ClientCapabilities.ResolveSupport), snippet_support: optional(boolean()), - tag_support: optional(Lexical.Protocol.Types.Completion.ClientCapabilities.TagSupport) + tag_support: optional(Expert.Protocol.Types.Completion.ClientCapabilities.TagSupport) end defmodule CompletionItemKind do @@ -48,11 +48,11 @@ defmodule Lexical.Protocol.Types.Completion.ClientCapabilities do use Proto deftype completion_item: - optional(Lexical.Protocol.Types.Completion.ClientCapabilities.CompletionItem), + optional(Expert.Protocol.Types.Completion.ClientCapabilities.CompletionItem), completion_item_kind: - optional(Lexical.Protocol.Types.Completion.ClientCapabilities.CompletionItemKind), + optional(Expert.Protocol.Types.Completion.ClientCapabilities.CompletionItemKind), completion_list: - optional(Lexical.Protocol.Types.Completion.ClientCapabilities.CompletionList), + optional(Expert.Protocol.Types.Completion.ClientCapabilities.CompletionList), context_support: optional(boolean()), dynamic_registration: optional(boolean()), insert_text_mode: optional(Types.InsertTextMode) diff --git a/apps/protocol/lib/generated/lexical/protocol/types/completion/context.ex b/apps/protocol/lib/generated/expert/protocol/types/completion/context.ex similarity index 60% rename from apps/protocol/lib/generated/lexical/protocol/types/completion/context.ex rename to apps/protocol/lib/generated/expert/protocol/types/completion/context.ex index 0642dc8e..f3be6d2e 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/completion/context.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/completion/context.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Completion.Context do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Completion.Context do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype trigger_character: optional(string()), trigger_kind: Types.Completion.Trigger.Kind end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/completion/item.ex b/apps/protocol/lib/generated/expert/protocol/types/completion/item.ex similarity index 91% rename from apps/protocol/lib/generated/lexical/protocol/types/completion/item.ex rename to apps/protocol/lib/generated/expert/protocol/types/completion/item.ex index c0b17a34..784544f0 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/completion/item.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/completion/item.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Completion.Item do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Completion.Item do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype additional_text_edits: optional(list_of(Types.TextEdit)), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/completion/item/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/completion/item/kind.ex similarity index 88% rename from apps/protocol/lib/generated/lexical/protocol/types/completion/item/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/completion/item/kind.ex index e90f21f0..9d69b4d1 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/completion/item/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/completion/item/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Completion.Item.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Completion.Item.Kind do + alias Expert.Proto use Proto defenum text: 1, diff --git a/apps/protocol/lib/generated/lexical/protocol/types/completion/item/label_details.ex b/apps/protocol/lib/generated/expert/protocol/types/completion/item/label_details.ex similarity index 62% rename from apps/protocol/lib/generated/lexical/protocol/types/completion/item/label_details.ex rename to apps/protocol/lib/generated/expert/protocol/types/completion/item/label_details.ex index 64e3213a..4bd581ad 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/completion/item/label_details.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/completion/item/label_details.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Completion.Item.LabelDetails do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Completion.Item.LabelDetails do + alias Expert.Proto use Proto deftype description: optional(string()), detail: optional(string()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/completion/item/tag.ex b/apps/protocol/lib/generated/expert/protocol/types/completion/item/tag.ex similarity index 55% rename from apps/protocol/lib/generated/lexical/protocol/types/completion/item/tag.ex rename to apps/protocol/lib/generated/expert/protocol/types/completion/item/tag.ex index 19c5d4e4..2d8c8243 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/completion/item/tag.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/completion/item/tag.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Completion.Item.Tag do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Completion.Item.Tag do + alias Expert.Proto use Proto defenum deprecated: 1 end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/completion/list.ex b/apps/protocol/lib/generated/expert/protocol/types/completion/list.ex similarity index 65% rename from apps/protocol/lib/generated/lexical/protocol/types/completion/list.ex rename to apps/protocol/lib/generated/expert/protocol/types/completion/list.ex index 7c5076b5..fe625d1a 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/completion/list.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/completion/list.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Completion.List do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Completion.List do + alias Expert.Proto + alias Expert.Protocol.Types defmodule EditRange do use Proto @@ -14,7 +14,7 @@ defmodule Lexical.Protocol.Types.Completion.List do deftype commit_characters: optional(list_of(string())), data: optional(any()), edit_range: - optional(one_of([Types.Range, Lexical.Protocol.Types.Completion.List.EditRange])), + optional(one_of([Types.Range, Expert.Protocol.Types.Completion.List.EditRange])), insert_text_format: optional(Types.InsertTextFormat), insert_text_mode: optional(Types.InsertTextMode) end @@ -22,6 +22,6 @@ defmodule Lexical.Protocol.Types.Completion.List do use Proto deftype is_incomplete: boolean(), - item_defaults: optional(Lexical.Protocol.Types.Completion.List.ItemDefaults), + item_defaults: optional(Expert.Protocol.Types.Completion.List.ItemDefaults), items: list_of(Types.Completion.Item) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/completion/options.ex b/apps/protocol/lib/generated/expert/protocol/types/completion/options.ex similarity index 69% rename from apps/protocol/lib/generated/lexical/protocol/types/completion/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/completion/options.ex index 34a51530..47ec9d8d 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/completion/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/completion/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Completion.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Completion.Options do + alias Expert.Proto defmodule CompletionItem do use Proto @@ -10,7 +10,7 @@ defmodule Lexical.Protocol.Types.Completion.Options do use Proto deftype all_commit_characters: optional(list_of(string())), - completion_item: optional(Lexical.Protocol.Types.Completion.Options.CompletionItem), + completion_item: optional(Expert.Protocol.Types.Completion.Options.CompletionItem), resolve_provider: optional(boolean()), trigger_characters: optional(list_of(string())), work_done_progress: optional(boolean()) diff --git a/apps/protocol/lib/generated/lexical/protocol/types/completion/params.ex b/apps/protocol/lib/generated/expert/protocol/types/completion/params.ex similarity index 76% rename from apps/protocol/lib/generated/lexical/protocol/types/completion/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/completion/params.ex index 67d8877b..48ac20a2 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/completion/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/completion/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Completion.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Completion.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype context: optional(Types.Completion.Context), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/completion/trigger/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/completion/trigger/kind.ex similarity index 65% rename from apps/protocol/lib/generated/lexical/protocol/types/completion/trigger/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/completion/trigger/kind.ex index ccf9698a..13abba0a 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/completion/trigger/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/completion/trigger/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Completion.Trigger.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Completion.Trigger.Kind do + alias Expert.Proto use Proto defenum invoked: 1, trigger_character: 2, trigger_for_incomplete_completions: 3 end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/create_file.ex b/apps/protocol/lib/generated/expert/protocol/types/create_file.ex similarity index 71% rename from apps/protocol/lib/generated/lexical/protocol/types/create_file.ex rename to apps/protocol/lib/generated/expert/protocol/types/create_file.ex index 3e356d5f..29fbb49d 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/create_file.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/create_file.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CreateFile do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.CreateFile do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype annotation_id: optional(Types.ChangeAnnotation.Identifier), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/create_file/options.ex b/apps/protocol/lib/generated/expert/protocol/types/create_file/options.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/create_file/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/create_file/options.ex index 301f5d25..0eb7491b 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/create_file/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/create_file/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CreateFile.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.CreateFile.Options do + alias Expert.Proto use Proto deftype ignore_if_exists: optional(boolean()), overwrite: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/definition/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/declaration/client_capabilities.ex similarity index 65% rename from apps/protocol/lib/generated/lexical/protocol/types/definition/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/declaration/client_capabilities.ex index 080aeb82..ba32281a 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/definition/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/declaration/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Definition.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Declaration.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()), link_support: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/reference/options.ex b/apps/protocol/lib/generated/expert/protocol/types/declaration/options.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/reference/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/declaration/options.ex index 5d60fe29..ecf4321f 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/reference/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/declaration/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Reference.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Declaration.Options do + alias Expert.Proto use Proto deftype work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/declaration/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/declaration/registration/options.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/declaration/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/declaration/registration/options.ex index c37a6c69..c3aec425 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/declaration/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/declaration/registration/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Declaration.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Declaration.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype document_selector: one_of([Types.Document.Selector, nil]), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/declaration/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/definition/client_capabilities.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/declaration/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/definition/client_capabilities.ex index 022aa914..5b5fa62c 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/declaration/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/definition/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Declaration.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Definition.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()), link_support: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/definition/options.ex b/apps/protocol/lib/generated/expert/protocol/types/definition/options.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/definition/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/definition/options.ex index 193fe15e..ad27401e 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/definition/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/definition/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Definition.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Definition.Options do + alias Expert.Proto use Proto deftype work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/definition/params.ex b/apps/protocol/lib/generated/expert/protocol/types/definition/params.ex similarity index 72% rename from apps/protocol/lib/generated/lexical/protocol/types/definition/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/definition/params.ex index 5266d66a..e8b4312e 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/definition/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/definition/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Definition.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Definition.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype partial_result_token: optional(Types.Progress.Token), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/delete_file.ex b/apps/protocol/lib/generated/expert/protocol/types/delete_file.ex similarity index 71% rename from apps/protocol/lib/generated/lexical/protocol/types/delete_file.ex rename to apps/protocol/lib/generated/expert/protocol/types/delete_file.ex index fd0829f8..8ada2989 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/delete_file.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/delete_file.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.DeleteFile do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.DeleteFile do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype annotation_id: optional(Types.ChangeAnnotation.Identifier), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/delete_file/options.ex b/apps/protocol/lib/generated/expert/protocol/types/delete_file/options.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/delete_file/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/delete_file/options.ex index 0ce58919..2a2c74a1 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/delete_file/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/delete_file/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.DeleteFile.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.DeleteFile.Options do + alias Expert.Proto use Proto deftype ignore_if_not_exists: optional(boolean()), recursive: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic.ex b/apps/protocol/lib/generated/expert/protocol/types/diagnostic.ex similarity index 83% rename from apps/protocol/lib/generated/lexical/protocol/types/diagnostic.ex rename to apps/protocol/lib/generated/expert/protocol/types/diagnostic.ex index 14843d83..cb457815 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/diagnostic.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Diagnostic do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Diagnostic do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype code: optional(one_of([integer(), string()])), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/client_capabilities.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/diagnostic/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/diagnostic/client_capabilities.ex index 87908c6c..b703dbff 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Diagnostic.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Diagnostic.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()), related_document_support: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/options.ex b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/options.ex similarity index 76% rename from apps/protocol/lib/generated/lexical/protocol/types/diagnostic/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/diagnostic/options.ex index 9f3880c1..a0be73f3 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Diagnostic.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Diagnostic.Options do + alias Expert.Proto use Proto deftype identifier: optional(string()), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/registration/options.ex similarity index 74% rename from apps/protocol/lib/generated/lexical/protocol/types/diagnostic/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/diagnostic/registration/options.ex index 2e0d5a9f..f0493f99 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/registration/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Diagnostic.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Diagnostic.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype document_selector: one_of([Types.Document.Selector, nil]), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/related_information.ex b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/related_information.ex similarity index 51% rename from apps/protocol/lib/generated/lexical/protocol/types/diagnostic/related_information.ex rename to apps/protocol/lib/generated/expert/protocol/types/diagnostic/related_information.ex index 2758b0c9..a300f8fa 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/related_information.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/related_information.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Diagnostic.RelatedInformation do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Diagnostic.RelatedInformation do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype location: Types.Location, message: string() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/severity.ex b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/severity.ex similarity index 62% rename from apps/protocol/lib/generated/lexical/protocol/types/diagnostic/severity.ex rename to apps/protocol/lib/generated/expert/protocol/types/diagnostic/severity.ex index b9634efe..9b86ac6e 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/severity.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/severity.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Diagnostic.Severity do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Diagnostic.Severity do + alias Expert.Proto use Proto defenum error: 1, warning: 2, information: 3, hint: 4 end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/tag.ex b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/tag.ex similarity index 60% rename from apps/protocol/lib/generated/lexical/protocol/types/diagnostic/tag.ex rename to apps/protocol/lib/generated/expert/protocol/types/diagnostic/tag.ex index 368427a7..0f4759f1 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/tag.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/tag.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Diagnostic.Tag do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Diagnostic.Tag do + alias Expert.Proto use Proto defenum unnecessary: 1, deprecated: 2 end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/inlay_hint_workspace/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/workspace/client_capabilities.ex similarity index 55% rename from apps/protocol/lib/generated/lexical/protocol/types/inlay_hint_workspace/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/diagnostic/workspace/client_capabilities.ex index 52dab8b9..bded8e95 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/inlay_hint_workspace/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/diagnostic/workspace/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.InlayHintWorkspace.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Diagnostic.Workspace.ClientCapabilities do + alias Expert.Proto use Proto deftype refresh_support: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/formatting/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/did_change_configuration/client_capabilities.ex similarity index 55% rename from apps/protocol/lib/generated/lexical/protocol/types/document/formatting/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/did_change_configuration/client_capabilities.ex index 4b1e1b53..03e77bb6 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/formatting/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/did_change_configuration/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Formatting.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.DidChangeConfiguration.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/did_change_configuration/params.ex b/apps/protocol/lib/generated/expert/protocol/types/did_change_configuration/params.ex similarity index 52% rename from apps/protocol/lib/generated/lexical/protocol/types/did_change_configuration/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/did_change_configuration/params.ex index d31d23bb..6bd449bc 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/did_change_configuration/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/did_change_configuration/params.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.DidChangeConfiguration.Params do - alias Lexical.Proto +defmodule Expert.Protocol.Types.DidChangeConfiguration.Params do + alias Expert.Proto use Proto deftype settings: any() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/did_change_text_document/params.ex b/apps/protocol/lib/generated/expert/protocol/types/did_change_text_document/params.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/did_change_text_document/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/did_change_text_document/params.ex index 1c4fe6c2..e984c159 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/did_change_text_document/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/did_change_text_document/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.DidChangeTextDocument.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.DidChangeTextDocument.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype content_changes: list_of(Types.TextDocument.ContentChangeEvent), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/did_change_watched_files/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/did_change_watched_files/client_capabilities.ex similarity index 63% rename from apps/protocol/lib/generated/lexical/protocol/types/did_change_watched_files/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/did_change_watched_files/client_capabilities.ex index b828b871..22a1e16c 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/did_change_watched_files/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/did_change_watched_files/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.DidChangeWatchedFiles.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.DidChangeWatchedFiles.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()), relative_pattern_support: optional(boolean()) end diff --git a/apps/protocol/lib/generated/expert/protocol/types/did_change_watched_files/params.ex b/apps/protocol/lib/generated/expert/protocol/types/did_change_watched_files/params.ex new file mode 100644 index 00000000..6e5365f9 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/did_change_watched_files/params.ex @@ -0,0 +1,7 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.DidChangeWatchedFiles.Params do + alias Expert.Proto + alias Expert.Protocol.Types + use Proto + deftype changes: list_of(Types.FileEvent) +end diff --git a/apps/protocol/lib/generated/expert/protocol/types/did_change_watched_files/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/did_change_watched_files/registration/options.ex new file mode 100644 index 00000000..9fe45520 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/did_change_watched_files/registration/options.ex @@ -0,0 +1,7 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.DidChangeWatchedFiles.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types + use Proto + deftype watchers: list_of(Types.FileSystemWatcher) +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/did_close_text_document/params.ex b/apps/protocol/lib/generated/expert/protocol/types/did_close_text_document/params.ex similarity index 52% rename from apps/protocol/lib/generated/lexical/protocol/types/did_close_text_document/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/did_close_text_document/params.ex index f5f4d69e..647322a8 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/did_close_text_document/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/did_close_text_document/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.DidCloseTextDocument.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.DidCloseTextDocument.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype text_document: Types.TextDocument.Identifier end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/did_open_text_document/params.ex b/apps/protocol/lib/generated/expert/protocol/types/did_open_text_document/params.ex similarity index 51% rename from apps/protocol/lib/generated/lexical/protocol/types/did_open_text_document/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/did_open_text_document/params.ex index 6e17ff7b..df7c0121 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/did_open_text_document/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/did_open_text_document/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.DidOpenTextDocument.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.DidOpenTextDocument.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype text_document: Types.TextDocument.Item end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/did_save_text_document/params.ex b/apps/protocol/lib/generated/expert/protocol/types/did_save_text_document/params.ex similarity index 56% rename from apps/protocol/lib/generated/lexical/protocol/types/did_save_text_document/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/did_save_text_document/params.ex index 2c06117b..dafa99dd 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/did_save_text_document/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/did_save_text_document/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.DidSaveTextDocument.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.DidSaveTextDocument.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype text: optional(string()), text_document: Types.TextDocument.Identifier end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/call_hierarchy/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/document/color/client_capabilities.ex similarity index 60% rename from apps/protocol/lib/generated/lexical/protocol/types/call_hierarchy/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/color/client_capabilities.ex index bffddcc4..ca0bb219 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/call_hierarchy/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/color/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CallHierarchy.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Document.Color.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/folding_range/options.ex b/apps/protocol/lib/generated/expert/protocol/types/document/color/options.ex similarity index 60% rename from apps/protocol/lib/generated/lexical/protocol/types/folding_range/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/color/options.ex index bfafcf39..b410f3d0 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/folding_range/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/color/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FoldingRange.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Document.Color.Options do + alias Expert.Proto use Proto deftype work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/type_hierarchy/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/document/color/registration/options.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/type_hierarchy/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/color/registration/options.ex index da2b498d..8ccd60fe 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/type_hierarchy/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/color/registration/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TypeHierarchy.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Document.Color.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype document_selector: one_of([Types.Document.Selector, nil]), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/filter.ex b/apps/protocol/lib/generated/expert/protocol/types/document/filter.ex similarity index 60% rename from apps/protocol/lib/generated/lexical/protocol/types/document/filter.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/filter.ex index 08f917eb..3c7494ac 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/filter.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/filter.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Filter do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Document.Filter do + alias Expert.Proto + alias Expert.Protocol.Types use Proto defalias one_of([Types.TextDocument.Filter, Types.Notebook.Cell.TextDocument.Filter]) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/linked_editing_range/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/document/formatting/client_capabilities.ex similarity index 60% rename from apps/protocol/lib/generated/lexical/protocol/types/linked_editing_range/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/formatting/client_capabilities.ex index e5075c78..6b383fa5 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/linked_editing_range/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/formatting/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.LinkedEditingRange.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Document.Formatting.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/color/options.ex b/apps/protocol/lib/generated/expert/protocol/types/document/formatting/options.ex similarity index 59% rename from apps/protocol/lib/generated/lexical/protocol/types/document/color/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/formatting/options.ex index 764381b1..7094c366 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/color/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/formatting/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Color.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Document.Formatting.Options do + alias Expert.Proto use Proto deftype work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/formatting/params.ex b/apps/protocol/lib/generated/expert/protocol/types/document/formatting/params.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/document/formatting/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/formatting/params.ex index 2e567ddb..ff925ebd 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/formatting/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/formatting/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Formatting.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Document.Formatting.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype options: Types.Formatting.Options, diff --git a/apps/protocol/lib/generated/lexical/protocol/types/execute_command/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/document/highlight/client_capabilities.ex similarity index 56% rename from apps/protocol/lib/generated/lexical/protocol/types/execute_command/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/highlight/client_capabilities.ex index e0ce9c1b..2b446f4f 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/execute_command/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/highlight/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ExecuteCommand.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Document.Highlight.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/call_hierarchy/options.ex b/apps/protocol/lib/generated/expert/protocol/types/document/highlight/options.ex similarity index 59% rename from apps/protocol/lib/generated/lexical/protocol/types/call_hierarchy/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/highlight/options.ex index bb701c4b..74724d64 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/call_hierarchy/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/highlight/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CallHierarchy.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Document.Highlight.Options do + alias Expert.Proto use Proto deftype work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/link/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/document/link/client_capabilities.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/document/link/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/link/client_capabilities.ex index d9456eec..2d4962b0 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/link/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/link/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Link.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Document.Link.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()), tooltip_support: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/link/options.ex b/apps/protocol/lib/generated/expert/protocol/types/document/link/options.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/document/link/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/link/options.ex index 00616132..7b274caa 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/link/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/link/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Link.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Document.Link.Options do + alias Expert.Proto use Proto deftype resolve_provider: optional(boolean()), work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/range_formatting/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/document/on_type_formatting/client_capabilities.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/document/range_formatting/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/on_type_formatting/client_capabilities.ex index 9aa7466f..2a47a9a3 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/range_formatting/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/on_type_formatting/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.RangeFormatting.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Document.OnTypeFormatting.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/on_type_formatting/options.ex b/apps/protocol/lib/generated/expert/protocol/types/document/on_type_formatting/options.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/document/on_type_formatting/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/on_type_formatting/options.ex index cfe4b0a5..9b5fdda0 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/on_type_formatting/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/on_type_formatting/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.OnTypeFormatting.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Document.OnTypeFormatting.Options do + alias Expert.Proto use Proto deftype first_trigger_character: string(), more_trigger_character: optional(list_of(string())) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/did_change_configuration/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/document/range_formatting/client_capabilities.ex similarity index 55% rename from apps/protocol/lib/generated/lexical/protocol/types/did_change_configuration/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/range_formatting/client_capabilities.ex index 43c23f20..8d578145 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/did_change_configuration/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/range_formatting/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.DidChangeConfiguration.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Document.RangeFormatting.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()) end diff --git a/apps/protocol/lib/generated/expert/protocol/types/document/range_formatting/options.ex b/apps/protocol/lib/generated/expert/protocol/types/document/range_formatting/options.ex new file mode 100644 index 00000000..a8676f6b --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/document/range_formatting/options.ex @@ -0,0 +1,6 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.Document.RangeFormatting.Options do + alias Expert.Proto + use Proto + deftype work_done_progress: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/selector.ex b/apps/protocol/lib/generated/expert/protocol/types/document/selector.ex similarity index 51% rename from apps/protocol/lib/generated/lexical/protocol/types/document/selector.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/selector.ex index 91dc0f9b..b43bff12 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/selector.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/selector.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Selector do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Document.Selector do + alias Expert.Proto + alias Expert.Protocol.Types use Proto defalias list_of(Types.Document.Filter) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/symbol.ex b/apps/protocol/lib/generated/expert/protocol/types/document/symbol.ex similarity index 79% rename from apps/protocol/lib/generated/lexical/protocol/types/document/symbol.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/symbol.ex index ac39f53d..39f1b660 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/symbol.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/symbol.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Symbol do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Document.Symbol do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype children: optional(list_of(Types.Document.Symbol)), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/symbol/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/document/symbol/client_capabilities.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/document/symbol/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/symbol/client_capabilities.ex index 3467a239..a4cd6ca8 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/symbol/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/symbol/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Symbol.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Document.Symbol.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types defmodule SymbolKind do use Proto @@ -19,7 +19,7 @@ defmodule Lexical.Protocol.Types.Document.Symbol.ClientCapabilities do hierarchical_document_symbol_support: optional(boolean()), label_support: optional(boolean()), symbol_kind: - optional(Lexical.Protocol.Types.Document.Symbol.ClientCapabilities.SymbolKind), + optional(Expert.Protocol.Types.Document.Symbol.ClientCapabilities.SymbolKind), tag_support: - optional(Lexical.Protocol.Types.Document.Symbol.ClientCapabilities.TagSupport) + optional(Expert.Protocol.Types.Document.Symbol.ClientCapabilities.TagSupport) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/symbol/options.ex b/apps/protocol/lib/generated/expert/protocol/types/document/symbol/options.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/document/symbol/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/symbol/options.ex index cf3d9601..a2b8c54e 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/symbol/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/symbol/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Symbol.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Document.Symbol.Options do + alias Expert.Proto use Proto deftype label: optional(string()), work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/symbol/params.ex b/apps/protocol/lib/generated/expert/protocol/types/document/symbol/params.ex similarity index 69% rename from apps/protocol/lib/generated/lexical/protocol/types/document/symbol/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/document/symbol/params.ex index 35f5d65b..52bedbc2 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/symbol/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/document/symbol/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Symbol.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Document.Symbol.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype partial_result_token: optional(Types.Progress.Token), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/error_codes.ex b/apps/protocol/lib/generated/expert/protocol/types/error_codes.ex similarity index 82% rename from apps/protocol/lib/generated/lexical/protocol/types/error_codes.ex rename to apps/protocol/lib/generated/expert/protocol/types/error_codes.ex index 3bd0f455..1eee55ce 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/error_codes.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/error_codes.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ErrorCodes do - alias Lexical.Proto +defmodule Expert.Protocol.Types.ErrorCodes do + alias Expert.Proto use Proto defenum parse_error: -32_700, diff --git a/apps/protocol/lib/generated/lexical/protocol/types/type_hierarchy/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/execute_command/client_capabilities.ex similarity index 60% rename from apps/protocol/lib/generated/lexical/protocol/types/type_hierarchy/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/execute_command/client_capabilities.ex index 7f913f20..92734a10 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/type_hierarchy/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/execute_command/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TypeHierarchy.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.ExecuteCommand.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/execute_command/options.ex b/apps/protocol/lib/generated/expert/protocol/types/execute_command/options.ex similarity index 65% rename from apps/protocol/lib/generated/lexical/protocol/types/execute_command/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/execute_command/options.ex index bb14b161..e7d87f42 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/execute_command/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/execute_command/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ExecuteCommand.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.ExecuteCommand.Options do + alias Expert.Proto use Proto deftype commands: list_of(string()), work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/execute_command/params.ex b/apps/protocol/lib/generated/expert/protocol/types/execute_command/params.ex similarity index 65% rename from apps/protocol/lib/generated/lexical/protocol/types/execute_command/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/execute_command/params.ex index b378f92d..a10f7483 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/execute_command/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/execute_command/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ExecuteCommand.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.ExecuteCommand.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype arguments: optional(list_of(any())), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/execute_command/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/execute_command/registration/options.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/execute_command/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/execute_command/registration/options.ex index c9df46a0..6670a8ec 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/execute_command/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/execute_command/registration/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ExecuteCommand.Registration.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.ExecuteCommand.Registration.Options do + alias Expert.Proto use Proto deftype commands: list_of(string()), work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/failure_handling/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/failure_handling/kind.ex similarity index 73% rename from apps/protocol/lib/generated/lexical/protocol/types/failure_handling/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/failure_handling/kind.ex index 7c920f96..2f493d2b 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/failure_handling/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/failure_handling/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FailureHandling.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.FailureHandling.Kind do + alias Expert.Proto use Proto defenum abort: "abort", diff --git a/apps/protocol/lib/generated/lexical/protocol/types/file_change_type.ex b/apps/protocol/lib/generated/expert/protocol/types/file_change_type.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/file_change_type.ex rename to apps/protocol/lib/generated/expert/protocol/types/file_change_type.ex index e9e85e7c..5c0005e6 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/file_change_type.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/file_change_type.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FileChangeType do - alias Lexical.Proto +defmodule Expert.Protocol.Types.FileChangeType do + alias Expert.Proto use Proto defenum created: 1, changed: 2, deleted: 3 end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/file_event.ex b/apps/protocol/lib/generated/expert/protocol/types/file_event.ex similarity index 55% rename from apps/protocol/lib/generated/lexical/protocol/types/file_event.ex rename to apps/protocol/lib/generated/expert/protocol/types/file_event.ex index 5c916eea..0548ffa5 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/file_event.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/file_event.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FileEvent do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.FileEvent do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype type: Types.FileChangeType, uri: string() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/file_operation/client_capabilities.ex similarity index 80% rename from apps/protocol/lib/generated/lexical/protocol/types/file_operation/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/file_operation/client_capabilities.ex index 3844bd49..5929a9f0 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/file_operation/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FileOperation.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.FileOperation.ClientCapabilities do + alias Expert.Proto use Proto deftype did_create: optional(boolean()), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/filter.ex b/apps/protocol/lib/generated/expert/protocol/types/file_operation/filter.ex similarity index 57% rename from apps/protocol/lib/generated/lexical/protocol/types/file_operation/filter.ex rename to apps/protocol/lib/generated/expert/protocol/types/file_operation/filter.ex index b3e6c4e1..c30fd576 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/filter.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/file_operation/filter.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FileOperation.Filter do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.FileOperation.Filter do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype pattern: Types.FileOperation.Pattern, scheme: optional(string()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/options.ex b/apps/protocol/lib/generated/expert/protocol/types/file_operation/options.ex similarity index 82% rename from apps/protocol/lib/generated/lexical/protocol/types/file_operation/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/file_operation/options.ex index f732ac2e..eda1ac4b 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/file_operation/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FileOperation.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.FileOperation.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype did_create: optional(Types.FileOperation.Registration.Options), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/pattern.ex b/apps/protocol/lib/generated/expert/protocol/types/file_operation/pattern.ex similarity index 67% rename from apps/protocol/lib/generated/lexical/protocol/types/file_operation/pattern.ex rename to apps/protocol/lib/generated/expert/protocol/types/file_operation/pattern.ex index 3e64300f..bba8f71f 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/pattern.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/file_operation/pattern.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FileOperation.Pattern do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.FileOperation.Pattern do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype glob: string(), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/pattern/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/file_operation/pattern/kind.ex similarity index 57% rename from apps/protocol/lib/generated/lexical/protocol/types/file_operation/pattern/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/file_operation/pattern/kind.ex index 93702aad..93930230 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/pattern/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/file_operation/pattern/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FileOperation.Pattern.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.FileOperation.Pattern.Kind do + alias Expert.Proto use Proto defenum file: "file", folder: "folder" end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/pattern/options.ex b/apps/protocol/lib/generated/expert/protocol/types/file_operation/pattern/options.ex similarity index 56% rename from apps/protocol/lib/generated/lexical/protocol/types/file_operation/pattern/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/file_operation/pattern/options.ex index 5751dcdc..7b1ab11e 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/pattern/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/file_operation/pattern/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FileOperation.Pattern.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.FileOperation.Pattern.Options do + alias Expert.Proto use Proto deftype ignore_case: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/file_operation/registration/options.ex similarity index 50% rename from apps/protocol/lib/generated/lexical/protocol/types/file_operation/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/file_operation/registration/options.ex index eab4d328..dba1ca71 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/file_operation/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/file_operation/registration/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FileOperation.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.FileOperation.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype filters: list_of(Types.FileOperation.Filter) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/file_system_watcher.ex b/apps/protocol/lib/generated/expert/protocol/types/file_system_watcher.ex similarity index 58% rename from apps/protocol/lib/generated/lexical/protocol/types/file_system_watcher.ex rename to apps/protocol/lib/generated/expert/protocol/types/file_system_watcher.ex index 844e8228..412f5a96 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/file_system_watcher.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/file_system_watcher.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FileSystemWatcher do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.FileSystemWatcher do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype glob_pattern: Types.GlobPattern, kind: optional(Types.Watch.Kind) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/folding_range/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/folding_range/client_capabilities.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/folding_range/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/folding_range/client_capabilities.ex index e5b30bbf..36acb428 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/folding_range/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/folding_range/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FoldingRange.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.FoldingRange.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types defmodule FoldingRange do use Proto @@ -17,9 +17,9 @@ defmodule Lexical.Protocol.Types.FoldingRange.ClientCapabilities do deftype dynamic_registration: optional(boolean()), folding_range: - optional(Lexical.Protocol.Types.FoldingRange.ClientCapabilities.FoldingRange), + optional(Expert.Protocol.Types.FoldingRange.ClientCapabilities.FoldingRange), folding_range_kind: - optional(Lexical.Protocol.Types.FoldingRange.ClientCapabilities.FoldingRangeKind), + optional(Expert.Protocol.Types.FoldingRange.ClientCapabilities.FoldingRangeKind), line_folding_only: optional(boolean()), range_limit: optional(integer()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/folding_range/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/folding_range/kind.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/folding_range/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/folding_range/kind.ex index 430001b0..6b3eff01 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/folding_range/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/folding_range/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.FoldingRange.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.FoldingRange.Kind do + alias Expert.Proto use Proto defenum comment: "comment", imports: "imports", region: "region" end diff --git a/apps/protocol/lib/generated/expert/protocol/types/folding_range/options.ex b/apps/protocol/lib/generated/expert/protocol/types/folding_range/options.ex new file mode 100644 index 00000000..d83dc3e6 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/folding_range/options.ex @@ -0,0 +1,6 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.FoldingRange.Options do + alias Expert.Proto + use Proto + deftype work_done_progress: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/inline_value/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/folding_range/registration/options.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/inline_value/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/folding_range/registration/options.ex index ae95d3a1..24c459d0 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/inline_value/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/folding_range/registration/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.InlineValue.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.FoldingRange.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype document_selector: one_of([Types.Document.Selector, nil]), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/formatting/options.ex b/apps/protocol/lib/generated/expert/protocol/types/formatting/options.ex similarity index 79% rename from apps/protocol/lib/generated/lexical/protocol/types/formatting/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/formatting/options.ex index a9ca331c..a468e85b 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/formatting/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/formatting/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Formatting.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Formatting.Options do + alias Expert.Proto use Proto deftype insert_final_newline: optional(boolean()), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/general/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/general/client_capabilities.ex similarity index 69% rename from apps/protocol/lib/generated/lexical/protocol/types/general/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/general/client_capabilities.ex index 1378c997..34ffc02f 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/general/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/general/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.General.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.General.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types defmodule StaleRequestSupport do use Proto @@ -14,5 +14,5 @@ defmodule Lexical.Protocol.Types.General.ClientCapabilities do position_encodings: optional(list_of(Types.Position.Encoding.Kind)), regular_expressions: optional(Types.RegularExpressions.ClientCapabilities), stale_request_support: - optional(Lexical.Protocol.Types.General.ClientCapabilities.StaleRequestSupport) + optional(Expert.Protocol.Types.General.ClientCapabilities.StaleRequestSupport) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/glob_pattern.ex b/apps/protocol/lib/generated/expert/protocol/types/glob_pattern.ex similarity index 56% rename from apps/protocol/lib/generated/lexical/protocol/types/glob_pattern.ex rename to apps/protocol/lib/generated/expert/protocol/types/glob_pattern.ex index d4699916..8c8050e2 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/glob_pattern.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/glob_pattern.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.GlobPattern do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.GlobPattern do + alias Expert.Proto + alias Expert.Protocol.Types use Proto defalias one_of([Types.Pattern, Types.RelativePattern]) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/hover.ex b/apps/protocol/lib/generated/expert/protocol/types/hover.ex similarity index 70% rename from apps/protocol/lib/generated/lexical/protocol/types/hover.ex rename to apps/protocol/lib/generated/expert/protocol/types/hover.ex index 36b00f0d..29dcb3ea 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/hover.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/hover.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Hover do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Hover do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype contents: diff --git a/apps/protocol/lib/generated/lexical/protocol/types/hover/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/hover/client_capabilities.ex similarity index 62% rename from apps/protocol/lib/generated/lexical/protocol/types/hover/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/hover/client_capabilities.ex index cef4b84c..4c4e3542 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/hover/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/hover/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Hover.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Hover.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype content_format: optional(list_of(Types.Markup.Kind)), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/hover/options.ex b/apps/protocol/lib/generated/expert/protocol/types/hover/options.ex similarity index 62% rename from apps/protocol/lib/generated/lexical/protocol/types/hover/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/hover/options.ex index 8836ae5a..f9716a92 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/hover/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/hover/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Hover.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Hover.Options do + alias Expert.Proto use Proto deftype work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/hover/params.ex b/apps/protocol/lib/generated/expert/protocol/types/hover/params.ex similarity index 68% rename from apps/protocol/lib/generated/lexical/protocol/types/hover/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/hover/params.ex index 2b7827a3..33b21c43 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/hover/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/hover/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Hover.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Hover.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype position: Types.Position, diff --git a/apps/protocol/lib/generated/lexical/protocol/types/type_definition/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/implementation/client_capabilities.ex similarity index 63% rename from apps/protocol/lib/generated/lexical/protocol/types/type_definition/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/implementation/client_capabilities.ex index 558126e0..f6dbe9b5 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/type_definition/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/implementation/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TypeDefinition.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Implementation.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()), link_support: optional(boolean()) end diff --git a/apps/protocol/lib/generated/expert/protocol/types/implementation/options.ex b/apps/protocol/lib/generated/expert/protocol/types/implementation/options.ex new file mode 100644 index 00000000..49a91073 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/implementation/options.ex @@ -0,0 +1,6 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.Implementation.Options do + alias Expert.Proto + use Proto + deftype work_done_progress: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/call_hierarchy/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/implementation/registration/options.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/call_hierarchy/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/implementation/registration/options.ex index 0397f62e..1348b0bc 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/call_hierarchy/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/implementation/registration/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CallHierarchy.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Implementation.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype document_selector: one_of([Types.Document.Selector, nil]), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/initialize/params.ex b/apps/protocol/lib/generated/expert/protocol/types/initialize/params.ex similarity index 79% rename from apps/protocol/lib/generated/lexical/protocol/types/initialize/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/initialize/params.ex index ac1d66e8..a82a7ef6 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/initialize/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/initialize/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Initialize.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Initialize.Params do + alias Expert.Proto + alias Expert.Protocol.Types defmodule ClientInfo1 do use Proto @@ -11,7 +11,7 @@ defmodule Lexical.Protocol.Types.Initialize.Params do use Proto deftype capabilities: Types.ClientCapabilities, - client_info: optional(Lexical.Protocol.Types.Initialize.Params.ClientInfo1), + client_info: optional(Expert.Protocol.Types.Initialize.Params.ClientInfo1), initialization_options: optional(any()), locale: optional(string()), process_id: one_of([integer(), nil]), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/initialize/result.ex b/apps/protocol/lib/generated/expert/protocol/types/initialize/result.ex similarity index 54% rename from apps/protocol/lib/generated/lexical/protocol/types/initialize/result.ex rename to apps/protocol/lib/generated/expert/protocol/types/initialize/result.ex index fcad0bf8..f67eafb3 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/initialize/result.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/initialize/result.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Initialize.Result do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Initialize.Result do + alias Expert.Proto + alias Expert.Protocol.Types defmodule ServerInfo do use Proto @@ -11,5 +11,5 @@ defmodule Lexical.Protocol.Types.Initialize.Result do use Proto deftype capabilities: Types.ServerCapabilities, - server_info: optional(Lexical.Protocol.Types.Initialize.Result.ServerInfo) + server_info: optional(Expert.Protocol.Types.Initialize.Result.ServerInfo) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/inlay_hint/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/inlay_hint/client_capabilities.ex similarity index 58% rename from apps/protocol/lib/generated/lexical/protocol/types/inlay_hint/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/inlay_hint/client_capabilities.ex index 9eb2384d..e452bf11 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/inlay_hint/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/inlay_hint/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.InlayHint.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.InlayHint.ClientCapabilities do + alias Expert.Proto defmodule ResolveSupport do use Proto @@ -11,5 +11,5 @@ defmodule Lexical.Protocol.Types.InlayHint.ClientCapabilities do deftype dynamic_registration: optional(boolean()), resolve_support: - optional(Lexical.Protocol.Types.InlayHint.ClientCapabilities.ResolveSupport) + optional(Expert.Protocol.Types.InlayHint.ClientCapabilities.ResolveSupport) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/inlay_hint/options.ex b/apps/protocol/lib/generated/expert/protocol/types/inlay_hint/options.ex similarity index 67% rename from apps/protocol/lib/generated/lexical/protocol/types/inlay_hint/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/inlay_hint/options.ex index d7fb8cfc..dcca9d72 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/inlay_hint/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/inlay_hint/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.InlayHint.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.InlayHint.Options do + alias Expert.Proto use Proto deftype resolve_provider: optional(boolean()), work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/inlay_hint/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/inlay_hint/registration/options.ex similarity index 69% rename from apps/protocol/lib/generated/lexical/protocol/types/inlay_hint/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/inlay_hint/registration/options.ex index 075d1640..066c448a 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/inlay_hint/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/inlay_hint/registration/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.InlayHint.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.InlayHint.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype document_selector: one_of([Types.Document.Selector, nil]), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/inline_value/workspace/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/inlay_hint_workspace/client_capabilities.ex similarity index 54% rename from apps/protocol/lib/generated/lexical/protocol/types/inline_value/workspace/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/inlay_hint_workspace/client_capabilities.ex index 0af9094d..eea32e90 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/inline_value/workspace/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/inlay_hint_workspace/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.InlineValue.Workspace.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.InlayHintWorkspace.ClientCapabilities do + alias Expert.Proto use Proto deftype refresh_support: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/reference/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/inline_value/client_capabilities.ex similarity index 58% rename from apps/protocol/lib/generated/lexical/protocol/types/reference/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/inline_value/client_capabilities.ex index dfbc9156..cfe897af 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/reference/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/inline_value/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Reference.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.InlineValue.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()) end diff --git a/apps/protocol/lib/generated/expert/protocol/types/inline_value/options.ex b/apps/protocol/lib/generated/expert/protocol/types/inline_value/options.ex new file mode 100644 index 00000000..b7318185 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/inline_value/options.ex @@ -0,0 +1,6 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.InlineValue.Options do + alias Expert.Proto + use Proto + deftype work_done_progress: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/expert/protocol/types/inline_value/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/inline_value/registration/options.ex new file mode 100644 index 00000000..17b80cc7 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/inline_value/registration/options.ex @@ -0,0 +1,10 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.InlineValue.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types + use Proto + + deftype document_selector: one_of([Types.Document.Selector, nil]), + id: optional(string()), + work_done_progress: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/workspace/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/inline_value/workspace/client_capabilities.ex similarity index 60% rename from apps/protocol/lib/generated/lexical/protocol/types/diagnostic/workspace/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/inline_value/workspace/client_capabilities.ex index fa7e9706..ef3a01d8 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/diagnostic/workspace/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/inline_value/workspace/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Diagnostic.Workspace.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.InlineValue.Workspace.ClientCapabilities do + alias Expert.Proto use Proto deftype refresh_support: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/insert_replace_edit.ex b/apps/protocol/lib/generated/expert/protocol/types/insert_replace_edit.ex similarity index 57% rename from apps/protocol/lib/generated/lexical/protocol/types/insert_replace_edit.ex rename to apps/protocol/lib/generated/expert/protocol/types/insert_replace_edit.ex index 609db544..2d1bf556 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/insert_replace_edit.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/insert_replace_edit.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.InsertReplaceEdit do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.InsertReplaceEdit do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype insert: Types.Range, new_text: string(), replace: Types.Range end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/insert_text_format.ex b/apps/protocol/lib/generated/expert/protocol/types/insert_text_format.ex similarity index 59% rename from apps/protocol/lib/generated/lexical/protocol/types/insert_text_format.ex rename to apps/protocol/lib/generated/expert/protocol/types/insert_text_format.ex index 361be738..3657d2b9 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/insert_text_format.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/insert_text_format.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.InsertTextFormat do - alias Lexical.Proto +defmodule Expert.Protocol.Types.InsertTextFormat do + alias Expert.Proto use Proto defenum plain_text: 1, snippet: 2 end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/insert_text_mode.ex b/apps/protocol/lib/generated/expert/protocol/types/insert_text_mode.ex similarity index 60% rename from apps/protocol/lib/generated/lexical/protocol/types/insert_text_mode.ex rename to apps/protocol/lib/generated/expert/protocol/types/insert_text_mode.ex index 67e15e06..ee48f1ab 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/insert_text_mode.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/insert_text_mode.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.InsertTextMode do - alias Lexical.Proto +defmodule Expert.Protocol.Types.InsertTextMode do + alias Expert.Proto use Proto defenum as_is: 1, adjust_indentation: 2 end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/color/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/linked_editing_range/client_capabilities.ex similarity index 56% rename from apps/protocol/lib/generated/lexical/protocol/types/document/color/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/linked_editing_range/client_capabilities.ex index 938d6280..3941e6b3 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/color/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/linked_editing_range/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Color.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.LinkedEditingRange.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/prepare_support_default_behavior.ex b/apps/protocol/lib/generated/expert/protocol/types/linked_editing_range/options.ex similarity index 65% rename from apps/protocol/lib/generated/lexical/protocol/types/prepare_support_default_behavior.ex rename to apps/protocol/lib/generated/expert/protocol/types/linked_editing_range/options.ex index 2692f46a..dd2a2f28 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/prepare_support_default_behavior.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/linked_editing_range/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.PrepareSupportDefaultBehavior do - alias Lexical.Proto +defmodule Expert.Protocol.Types.LinkedEditingRange.Options do + alias Expert.Proto use Proto - defenum identifier: 1 + deftype work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/color/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/linked_editing_range/registration/options.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/document/color/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/linked_editing_range/registration/options.ex index 31a4ab27..060b7f97 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/color/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/linked_editing_range/registration/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Color.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.LinkedEditingRange.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype document_selector: one_of([Types.Document.Selector, nil]), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/location.ex b/apps/protocol/lib/generated/expert/protocol/types/location.ex similarity index 54% rename from apps/protocol/lib/generated/lexical/protocol/types/location.ex rename to apps/protocol/lib/generated/expert/protocol/types/location.ex index 52df5251..cd6e0796 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/location.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/location.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Location do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Location do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype range: Types.Range, uri: string() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/location/link.ex b/apps/protocol/lib/generated/expert/protocol/types/location/link.ex similarity index 70% rename from apps/protocol/lib/generated/lexical/protocol/types/location/link.ex rename to apps/protocol/lib/generated/expert/protocol/types/location/link.ex index 5472c56a..cb607fae 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/location/link.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/location/link.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Location.Link do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Location.Link do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype origin_selection_range: optional(Types.Range), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/log_message/params.ex b/apps/protocol/lib/generated/expert/protocol/types/log_message/params.ex similarity index 54% rename from apps/protocol/lib/generated/lexical/protocol/types/log_message/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/log_message/params.ex index 466b99ee..c22cae29 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/log_message/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/log_message/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.LogMessage.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.LogMessage.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype message: string(), type: Types.Message.Type end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/lsp_error_codes.ex b/apps/protocol/lib/generated/expert/protocol/types/lsp_error_codes.ex similarity index 75% rename from apps/protocol/lib/generated/lexical/protocol/types/lsp_error_codes.ex rename to apps/protocol/lib/generated/expert/protocol/types/lsp_error_codes.ex index 1b66598c..afdb0a95 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/lsp_error_codes.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/lsp_error_codes.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.LSPErrorCodes do - alias Lexical.Proto +defmodule Expert.Protocol.Types.LSPErrorCodes do + alias Expert.Proto use Proto defenum request_failed: -32_803, diff --git a/apps/protocol/lib/generated/lexical/protocol/types/lsp_object.ex b/apps/protocol/lib/generated/expert/protocol/types/lsp_object.ex similarity index 55% rename from apps/protocol/lib/generated/lexical/protocol/types/lsp_object.ex rename to apps/protocol/lib/generated/expert/protocol/types/lsp_object.ex index 01261f0e..f0914b00 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/lsp_object.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/lsp_object.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.LSPObject do - alias Lexical.Proto +defmodule Expert.Protocol.Types.LSPObject do + alias Expert.Proto use Proto deftype [] end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/markdown/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/markdown/client_capabilities.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/markdown/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/markdown/client_capabilities.ex index 788157e7..208f2088 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/markdown/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/markdown/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Markdown.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Markdown.ClientCapabilities do + alias Expert.Proto use Proto deftype allowed_tags: optional(list_of(string())), parser: string(), version: optional(string()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/marked_string.ex b/apps/protocol/lib/generated/expert/protocol/types/marked_string.ex similarity index 52% rename from apps/protocol/lib/generated/lexical/protocol/types/marked_string.ex rename to apps/protocol/lib/generated/expert/protocol/types/marked_string.ex index b223e5ca..45e41fbf 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/marked_string.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/marked_string.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.MarkedString do - alias Lexical.Proto +defmodule Expert.Protocol.Types.MarkedString do + alias Expert.Proto defmodule MarkedString do use Proto @@ -8,5 +8,5 @@ defmodule Lexical.Protocol.Types.MarkedString do end use Proto - defalias one_of([string(), Lexical.Protocol.Types.MarkedString.MarkedString]) + defalias one_of([string(), Expert.Protocol.Types.MarkedString.MarkedString]) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/markup/content.ex b/apps/protocol/lib/generated/expert/protocol/types/markup/content.ex similarity index 54% rename from apps/protocol/lib/generated/lexical/protocol/types/markup/content.ex rename to apps/protocol/lib/generated/expert/protocol/types/markup/content.ex index 0cb1272e..7d79d30e 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/markup/content.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/markup/content.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Markup.Content do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Markup.Content do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype kind: Types.Markup.Kind, value: string() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/markup/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/markup/kind.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/markup/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/markup/kind.ex index 08597716..47326be9 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/markup/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/markup/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Markup.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Markup.Kind do + alias Expert.Proto use Proto defenum plain_text: "plaintext", markdown: "markdown" end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/message/action_item.ex b/apps/protocol/lib/generated/expert/protocol/types/message/action_item.ex similarity index 56% rename from apps/protocol/lib/generated/lexical/protocol/types/message/action_item.ex rename to apps/protocol/lib/generated/expert/protocol/types/message/action_item.ex index 21331da8..9ce129f5 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/message/action_item.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/message/action_item.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Message.ActionItem do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Message.ActionItem do + alias Expert.Proto use Proto deftype title: string() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/message/type.ex b/apps/protocol/lib/generated/expert/protocol/types/message/type.ex similarity index 62% rename from apps/protocol/lib/generated/lexical/protocol/types/message/type.ex rename to apps/protocol/lib/generated/expert/protocol/types/message/type.ex index e3a791c0..868a9af4 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/message/type.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/message/type.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Message.Type do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Message.Type do + alias Expert.Proto use Proto defenum error: 1, warning: 2, info: 3, log: 4 end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/code_lens/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/moniker/client_capabilities.ex similarity index 59% rename from apps/protocol/lib/generated/lexical/protocol/types/code_lens/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/moniker/client_capabilities.ex index b3f5c19c..4cc0332c 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/code_lens/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/moniker/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.CodeLens.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Moniker.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/moniker/options.ex b/apps/protocol/lib/generated/expert/protocol/types/moniker/options.ex similarity index 62% rename from apps/protocol/lib/generated/lexical/protocol/types/moniker/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/moniker/options.ex index e1a4bb32..be3f1d92 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/moniker/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/moniker/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Moniker.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Moniker.Options do + alias Expert.Proto use Proto deftype work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/moniker/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/moniker/registration/options.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/moniker/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/moniker/registration/options.ex index a7785274..228f012d 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/moniker/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/moniker/registration/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Moniker.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Moniker.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype document_selector: one_of([Types.Document.Selector, nil]), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/notebook/cell/text_document/filter.ex b/apps/protocol/lib/generated/expert/protocol/types/notebook/cell/text_document/filter.ex similarity index 59% rename from apps/protocol/lib/generated/lexical/protocol/types/notebook/cell/text_document/filter.ex rename to apps/protocol/lib/generated/expert/protocol/types/notebook/cell/text_document/filter.ex index e77dab90..d2286f41 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/notebook/cell/text_document/filter.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/notebook/cell/text_document/filter.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Notebook.Cell.TextDocument.Filter do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Notebook.Cell.TextDocument.Filter do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype language: optional(string()), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/notebook/document/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/notebook/document/client_capabilities.ex similarity index 53% rename from apps/protocol/lib/generated/lexical/protocol/types/notebook/document/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/notebook/document/client_capabilities.ex index b397338c..d74f9cd5 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/notebook/document/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/notebook/document/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Notebook.Document.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Notebook.Document.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype synchronization: Types.Notebook.Document.Sync.ClientCapabilities end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/notebook/document/filter.ex b/apps/protocol/lib/generated/expert/protocol/types/notebook/document/filter.ex similarity index 62% rename from apps/protocol/lib/generated/lexical/protocol/types/notebook/document/filter.ex rename to apps/protocol/lib/generated/expert/protocol/types/notebook/document/filter.ex index b24dcbf9..81858b53 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/notebook/document/filter.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/notebook/document/filter.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Notebook.Document.Filter do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Notebook.Document.Filter do + alias Expert.Proto defmodule NotebookDocumentFilter do use Proto @@ -20,8 +20,8 @@ defmodule Lexical.Protocol.Types.Notebook.Document.Filter do use Proto defalias one_of([ - Lexical.Protocol.Types.Notebook.Document.Filter.NotebookDocumentFilter, - Lexical.Protocol.Types.Notebook.Document.Filter.NotebookDocumentFilter1, - Lexical.Protocol.Types.Notebook.Document.Filter.NotebookDocumentFilter2 + Expert.Protocol.Types.Notebook.Document.Filter.NotebookDocumentFilter, + Expert.Protocol.Types.Notebook.Document.Filter.NotebookDocumentFilter1, + Expert.Protocol.Types.Notebook.Document.Filter.NotebookDocumentFilter2 ]) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/notebook/document/sync/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/notebook/document/sync/client_capabilities.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/notebook/document/sync/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/notebook/document/sync/client_capabilities.ex index 4f3c9dad..965d9bd2 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/notebook/document/sync/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/notebook/document/sync/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Notebook.Document.Sync.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Notebook.Document.Sync.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/notebook/document/sync/options.ex b/apps/protocol/lib/generated/expert/protocol/types/notebook/document/sync/options.ex similarity index 56% rename from apps/protocol/lib/generated/lexical/protocol/types/notebook/document/sync/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/notebook/document/sync/options.ex index cf3e7eba..21d1d7ea 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/notebook/document/sync/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/notebook/document/sync/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Notebook.Document.Sync.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Notebook.Document.Sync.Options do + alias Expert.Proto + alias Expert.Protocol.Types defmodule Cells do use Proto @@ -16,14 +16,14 @@ defmodule Lexical.Protocol.Types.Notebook.Document.Sync.Options do defmodule NotebookSelector do use Proto - deftype cells: optional(list_of(Lexical.Protocol.Types.Notebook.Document.Sync.Options.Cells)), + deftype cells: optional(list_of(Expert.Protocol.Types.Notebook.Document.Sync.Options.Cells)), notebook: one_of([string(), Types.Notebook.Document.Filter]) end defmodule NotebookSelector1 do use Proto - deftype cells: list_of(Lexical.Protocol.Types.Notebook.Document.Sync.Options.Cells1), + deftype cells: list_of(Expert.Protocol.Types.Notebook.Document.Sync.Options.Cells1), notebook: optional(one_of([string(), Types.Notebook.Document.Filter])) end @@ -32,8 +32,8 @@ defmodule Lexical.Protocol.Types.Notebook.Document.Sync.Options do deftype notebook_selector: list_of( one_of([ - Lexical.Protocol.Types.Notebook.Document.Sync.Options.NotebookSelector, - Lexical.Protocol.Types.Notebook.Document.Sync.Options.NotebookSelector1 + Expert.Protocol.Types.Notebook.Document.Sync.Options.NotebookSelector, + Expert.Protocol.Types.Notebook.Document.Sync.Options.NotebookSelector1 ]) ), save: optional(boolean()) diff --git a/apps/protocol/lib/generated/lexical/protocol/types/notebook/document/sync/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/notebook/document/sync/registration/options.ex similarity index 58% rename from apps/protocol/lib/generated/lexical/protocol/types/notebook/document/sync/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/notebook/document/sync/registration/options.ex index 6cae4f8a..4d46661d 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/notebook/document/sync/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/notebook/document/sync/registration/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Notebook.Document.Sync.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Notebook.Document.Sync.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types defmodule Cells2 do use Proto @@ -18,7 +18,7 @@ defmodule Lexical.Protocol.Types.Notebook.Document.Sync.Registration.Options do deftype cells: optional( - list_of(Lexical.Protocol.Types.Notebook.Document.Sync.Registration.Options.Cells2) + list_of(Expert.Protocol.Types.Notebook.Document.Sync.Registration.Options.Cells2) ), notebook: one_of([string(), Types.Notebook.Document.Filter]) end @@ -27,7 +27,7 @@ defmodule Lexical.Protocol.Types.Notebook.Document.Sync.Registration.Options do use Proto deftype cells: - list_of(Lexical.Protocol.Types.Notebook.Document.Sync.Registration.Options.Cells3), + list_of(Expert.Protocol.Types.Notebook.Document.Sync.Registration.Options.Cells3), notebook: optional(one_of([string(), Types.Notebook.Document.Filter])) end @@ -37,8 +37,8 @@ defmodule Lexical.Protocol.Types.Notebook.Document.Sync.Registration.Options do notebook_selector: list_of( one_of([ - Lexical.Protocol.Types.Notebook.Document.Sync.Registration.Options.NotebookSelector2, - Lexical.Protocol.Types.Notebook.Document.Sync.Registration.Options.NotebookSelector3 + Expert.Protocol.Types.Notebook.Document.Sync.Registration.Options.NotebookSelector2, + Expert.Protocol.Types.Notebook.Document.Sync.Registration.Options.NotebookSelector3 ]) ), save: optional(boolean()) diff --git a/apps/protocol/lib/generated/lexical/protocol/types/pattern.ex b/apps/protocol/lib/generated/expert/protocol/types/pattern.ex similarity index 65% rename from apps/protocol/lib/generated/lexical/protocol/types/pattern.ex rename to apps/protocol/lib/generated/expert/protocol/types/pattern.ex index 126e359d..bb59bc0b 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/pattern.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/pattern.ex @@ -1,4 +1,4 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Pattern do +defmodule Expert.Protocol.Types.Pattern do @type t :: String.t() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/position.ex b/apps/protocol/lib/generated/expert/protocol/types/position.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/position.ex rename to apps/protocol/lib/generated/expert/protocol/types/position.ex index c7e7b310..fb00273f 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/position.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/position.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Position do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Position do + alias Expert.Proto use Proto deftype character: integer(), line: integer() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/position/encoding/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/position/encoding/kind.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/position/encoding/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/position/encoding/kind.ex index bfcf5045..6fb803a8 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/position/encoding/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/position/encoding/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Position.Encoding.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Position.Encoding.Kind do + alias Expert.Proto use Proto defenum utf8: "utf-8", utf16: "utf-16", utf32: "utf-32" end diff --git a/apps/protocol/lib/generated/expert/protocol/types/prepare_support_default_behavior.ex b/apps/protocol/lib/generated/expert/protocol/types/prepare_support_default_behavior.ex new file mode 100644 index 00000000..2a6a53c9 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/prepare_support_default_behavior.ex @@ -0,0 +1,6 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.PrepareSupportDefaultBehavior do + alias Expert.Proto + use Proto + defenum identifier: 1 +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/progress/params.ex b/apps/protocol/lib/generated/expert/protocol/types/progress/params.ex similarity index 54% rename from apps/protocol/lib/generated/lexical/protocol/types/progress/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/progress/params.ex index 14cecd69..88be4f27 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/progress/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/progress/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Progress.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Progress.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype token: Types.Progress.Token, value: any() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/progress/token.ex b/apps/protocol/lib/generated/expert/protocol/types/progress/token.ex similarity index 60% rename from apps/protocol/lib/generated/lexical/protocol/types/progress/token.ex rename to apps/protocol/lib/generated/expert/protocol/types/progress/token.ex index 641828f5..43686a81 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/progress/token.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/progress/token.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Progress.Token do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Progress.Token do + alias Expert.Proto use Proto defalias one_of([integer(), string()]) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/publish_diagnostics/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/publish_diagnostics/client_capabilities.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/publish_diagnostics/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/publish_diagnostics/client_capabilities.ex index 43c94ba4..2ed3a693 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/publish_diagnostics/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/publish_diagnostics/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.PublishDiagnostics.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.PublishDiagnostics.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types defmodule TagSupport do use Proto @@ -14,6 +14,6 @@ defmodule Lexical.Protocol.Types.PublishDiagnostics.ClientCapabilities do data_support: optional(boolean()), related_information: optional(boolean()), tag_support: - optional(Lexical.Protocol.Types.PublishDiagnostics.ClientCapabilities.TagSupport), + optional(Expert.Protocol.Types.PublishDiagnostics.ClientCapabilities.TagSupport), version_support: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/publish_diagnostics/params.ex b/apps/protocol/lib/generated/expert/protocol/types/publish_diagnostics/params.ex similarity index 59% rename from apps/protocol/lib/generated/lexical/protocol/types/publish_diagnostics/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/publish_diagnostics/params.ex index 02f99a40..9e26370b 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/publish_diagnostics/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/publish_diagnostics/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.PublishDiagnostics.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.PublishDiagnostics.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype diagnostics: list_of(Types.Diagnostic), uri: string(), version: optional(integer()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/range.ex b/apps/protocol/lib/generated/expert/protocol/types/range.ex similarity index 56% rename from apps/protocol/lib/generated/lexical/protocol/types/range.ex rename to apps/protocol/lib/generated/expert/protocol/types/range.ex index d808c15c..b0bc1bfc 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/range.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/range.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Range do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Range do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype end: Types.Position, start: Types.Position end diff --git a/apps/protocol/lib/generated/expert/protocol/types/reference/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/reference/client_capabilities.ex new file mode 100644 index 00000000..e8ba6270 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/reference/client_capabilities.ex @@ -0,0 +1,6 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.Reference.ClientCapabilities do + alias Expert.Proto + use Proto + deftype dynamic_registration: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/reference/context.ex b/apps/protocol/lib/generated/expert/protocol/types/reference/context.ex similarity index 59% rename from apps/protocol/lib/generated/lexical/protocol/types/reference/context.ex rename to apps/protocol/lib/generated/expert/protocol/types/reference/context.ex index 070cdb00..66518ff8 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/reference/context.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/reference/context.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Reference.Context do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Reference.Context do + alias Expert.Proto use Proto deftype include_declaration: boolean() end diff --git a/apps/protocol/lib/generated/expert/protocol/types/reference/options.ex b/apps/protocol/lib/generated/expert/protocol/types/reference/options.ex new file mode 100644 index 00000000..1bc42d64 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/reference/options.ex @@ -0,0 +1,6 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.Reference.Options do + alias Expert.Proto + use Proto + deftype work_done_progress: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/reference/params.ex b/apps/protocol/lib/generated/expert/protocol/types/reference/params.ex similarity index 75% rename from apps/protocol/lib/generated/lexical/protocol/types/reference/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/reference/params.ex index 6125d763..b61cfe47 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/reference/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/reference/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Reference.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Reference.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype context: Types.Reference.Context, diff --git a/apps/protocol/lib/generated/lexical/protocol/types/registration.ex b/apps/protocol/lib/generated/expert/protocol/types/registration.ex similarity index 67% rename from apps/protocol/lib/generated/lexical/protocol/types/registration.ex rename to apps/protocol/lib/generated/expert/protocol/types/registration.ex index 17c6442a..c5e24e0f 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/registration.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/registration.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Registration do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Registration do + alias Expert.Proto use Proto deftype id: string(), method: string(), register_options: optional(any()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/registration/params.ex b/apps/protocol/lib/generated/expert/protocol/types/registration/params.ex similarity index 53% rename from apps/protocol/lib/generated/lexical/protocol/types/registration/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/registration/params.ex index c7eab2e3..23fc0dd8 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/registration/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/registration/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Registration.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Registration.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype registrations: list_of(Types.Registration) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/regular_expressions/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/regular_expressions/client_capabilities.ex similarity index 57% rename from apps/protocol/lib/generated/lexical/protocol/types/regular_expressions/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/regular_expressions/client_capabilities.ex index 99f134df..44cc951b 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/regular_expressions/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/regular_expressions/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.RegularExpressions.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.RegularExpressions.ClientCapabilities do + alias Expert.Proto use Proto deftype engine: string(), version: optional(string()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/relative_pattern.ex b/apps/protocol/lib/generated/expert/protocol/types/relative_pattern.ex similarity index 60% rename from apps/protocol/lib/generated/lexical/protocol/types/relative_pattern.ex rename to apps/protocol/lib/generated/expert/protocol/types/relative_pattern.ex index 83257e93..64107d03 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/relative_pattern.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/relative_pattern.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.RelativePattern do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.RelativePattern do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype base_uri: one_of([Types.Workspace.Folder, string()]), pattern: Types.Pattern end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/rename/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/rename/client_capabilities.ex similarity index 73% rename from apps/protocol/lib/generated/lexical/protocol/types/rename/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/rename/client_capabilities.ex index 8a89a2c7..6e73460b 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/rename/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/rename/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Rename.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Rename.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype dynamic_registration: optional(boolean()), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/rename/options.ex b/apps/protocol/lib/generated/expert/protocol/types/rename/options.ex similarity index 68% rename from apps/protocol/lib/generated/lexical/protocol/types/rename/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/rename/options.ex index 13c416d0..06c609e0 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/rename/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/rename/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Rename.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Rename.Options do + alias Expert.Proto use Proto deftype prepare_provider: optional(boolean()), work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/rename_file.ex b/apps/protocol/lib/generated/expert/protocol/types/rename_file.ex similarity index 74% rename from apps/protocol/lib/generated/lexical/protocol/types/rename_file.ex rename to apps/protocol/lib/generated/expert/protocol/types/rename_file.ex index 40a179c7..0b6f4323 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/rename_file.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/rename_file.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.RenameFile do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.RenameFile do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype annotation_id: optional(Types.ChangeAnnotation.Identifier), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/rename_file/options.ex b/apps/protocol/lib/generated/expert/protocol/types/rename_file/options.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/rename_file/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/rename_file/options.ex index a1f369da..9c819384 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/rename_file/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/rename_file/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.RenameFile.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.RenameFile.Options do + alias Expert.Proto use Proto deftype ignore_if_exists: optional(boolean()), overwrite: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/resource_operation/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/resource_operation/kind.ex similarity index 62% rename from apps/protocol/lib/generated/lexical/protocol/types/resource_operation/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/resource_operation/kind.ex index 82e88371..a2a4e2bd 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/resource_operation/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/resource_operation/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ResourceOperation.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.ResourceOperation.Kind do + alias Expert.Proto use Proto defenum create: "create", rename: "rename", delete: "delete" end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/save/options.ex b/apps/protocol/lib/generated/expert/protocol/types/save/options.ex similarity index 62% rename from apps/protocol/lib/generated/lexical/protocol/types/save/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/save/options.ex index 3a7751d7..83991424 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/save/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/save/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Save.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Save.Options do + alias Expert.Proto use Proto deftype include_text: optional(boolean()) end diff --git a/apps/protocol/lib/generated/expert/protocol/types/selection_range/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/selection_range/client_capabilities.ex new file mode 100644 index 00000000..1afa51d3 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/selection_range/client_capabilities.ex @@ -0,0 +1,6 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.SelectionRange.ClientCapabilities do + alias Expert.Proto + use Proto + deftype dynamic_registration: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/expert/protocol/types/selection_range/options.ex b/apps/protocol/lib/generated/expert/protocol/types/selection_range/options.ex new file mode 100644 index 00000000..e1a39156 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/selection_range/options.ex @@ -0,0 +1,6 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.SelectionRange.Options do + alias Expert.Proto + use Proto + deftype work_done_progress: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/expert/protocol/types/selection_range/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/selection_range/registration/options.ex new file mode 100644 index 00000000..dce3bd31 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/selection_range/registration/options.ex @@ -0,0 +1,10 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.SelectionRange.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types + use Proto + + deftype document_selector: one_of([Types.Document.Selector, nil]), + id: optional(string()), + work_done_progress: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/client_capabilities.ex similarity index 65% rename from apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/client_capabilities.ex index 6be4c38e..e63204f4 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.SemanticTokens.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.SemanticTokens.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types defmodule Full do use Proto @@ -18,11 +18,11 @@ defmodule Lexical.Protocol.Types.SemanticTokens.ClientCapabilities do deftype full: optional( - one_of([boolean(), Lexical.Protocol.Types.SemanticTokens.ClientCapabilities.Full]) + one_of([boolean(), Expert.Protocol.Types.SemanticTokens.ClientCapabilities.Full]) ), range: optional( - one_of([boolean(), Lexical.Protocol.Types.SemanticTokens.ClientCapabilities.Range]) + one_of([boolean(), Expert.Protocol.Types.SemanticTokens.ClientCapabilities.Range]) ) end @@ -33,7 +33,7 @@ defmodule Lexical.Protocol.Types.SemanticTokens.ClientCapabilities do formats: list_of(Types.TokenFormat), multiline_token_support: optional(boolean()), overlapping_token_support: optional(boolean()), - requests: Lexical.Protocol.Types.SemanticTokens.ClientCapabilities.Requests, + requests: Expert.Protocol.Types.SemanticTokens.ClientCapabilities.Requests, server_cancel_support: optional(boolean()), token_modifiers: list_of(string()), token_types: list_of(string()) diff --git a/apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/legend.ex b/apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/legend.ex similarity index 65% rename from apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/legend.ex rename to apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/legend.ex index 02777812..c04a3620 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/legend.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/legend.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.SemanticTokens.Legend do - alias Lexical.Proto +defmodule Expert.Protocol.Types.SemanticTokens.Legend do + alias Expert.Proto use Proto deftype token_modifiers: list_of(string()), token_types: list_of(string()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/options.ex b/apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/options.ex similarity index 51% rename from apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/options.ex index 9202051f..1cff6522 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.SemanticTokens.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.SemanticTokens.Options do + alias Expert.Proto + alias Expert.Protocol.Types defmodule Full do use Proto @@ -15,9 +15,9 @@ defmodule Lexical.Protocol.Types.SemanticTokens.Options do use Proto - deftype full: optional(one_of([boolean(), Lexical.Protocol.Types.SemanticTokens.Options.Full])), + deftype full: optional(one_of([boolean(), Expert.Protocol.Types.SemanticTokens.Options.Full])), legend: Types.SemanticTokens.Legend, range: - optional(one_of([boolean(), Lexical.Protocol.Types.SemanticTokens.Options.Range])), + optional(one_of([boolean(), Expert.Protocol.Types.SemanticTokens.Options.Range])), work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/registration/options.ex similarity index 65% rename from apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/registration/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/registration/options.ex index 66563f3e..ebd55c48 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/registration/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/registration/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.SemanticTokens.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.SemanticTokens.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types defmodule Full1 do use Proto @@ -18,7 +18,7 @@ defmodule Lexical.Protocol.Types.SemanticTokens.Registration.Options do deftype document_selector: one_of([Types.Document.Selector, nil]), full: optional( - one_of([boolean(), Lexical.Protocol.Types.SemanticTokens.Registration.Options.Full1]) + one_of([boolean(), Expert.Protocol.Types.SemanticTokens.Registration.Options.Full1]) ), id: optional(string()), legend: Types.SemanticTokens.Legend, @@ -26,7 +26,7 @@ defmodule Lexical.Protocol.Types.SemanticTokens.Registration.Options do optional( one_of([ boolean(), - Lexical.Protocol.Types.SemanticTokens.Registration.Options.Range1 + Expert.Protocol.Types.SemanticTokens.Registration.Options.Range1 ]) ), work_done_progress: optional(boolean()) diff --git a/apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/workspace/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/workspace/client_capabilities.ex new file mode 100644 index 00000000..3c03c673 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/semantic_tokens/workspace/client_capabilities.ex @@ -0,0 +1,6 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.SemanticTokens.Workspace.ClientCapabilities do + alias Expert.Proto + use Proto + deftype refresh_support: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/server_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/server_capabilities.ex similarity index 96% rename from apps/protocol/lib/generated/lexical/protocol/types/server_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/server_capabilities.ex index e223cf25..53bf2867 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/server_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/server_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ServerCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.ServerCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types defmodule Workspace do use Proto @@ -135,6 +135,6 @@ defmodule Lexical.Protocol.Types.ServerCapabilities do Types.TypeHierarchy.Registration.Options ]) ), - workspace: optional(Lexical.Protocol.Types.ServerCapabilities.Workspace), + workspace: optional(Expert.Protocol.Types.ServerCapabilities.Workspace), workspace_symbol_provider: optional(one_of([boolean(), Types.Workspace.Symbol.Options])) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/show_document/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/show_document/client_capabilities.ex similarity index 52% rename from apps/protocol/lib/generated/lexical/protocol/types/show_document/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/show_document/client_capabilities.ex index 60f05bec..1a7918f4 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/show_document/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/show_document/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ShowDocument.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.ShowDocument.ClientCapabilities do + alias Expert.Proto use Proto deftype support: boolean() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/show_message/params.ex b/apps/protocol/lib/generated/expert/protocol/types/show_message/params.ex similarity index 53% rename from apps/protocol/lib/generated/lexical/protocol/types/show_message/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/show_message/params.ex index b7c9cd1a..8d2d9c9a 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/show_message/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/show_message/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ShowMessage.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.ShowMessage.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype message: string(), type: Types.Message.Type end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/show_message_request/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/show_message_request/client_capabilities.ex similarity index 57% rename from apps/protocol/lib/generated/lexical/protocol/types/show_message_request/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/show_message_request/client_capabilities.ex index 8c5544b3..63ae2281 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/show_message_request/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/show_message_request/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ShowMessageRequest.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.ShowMessageRequest.ClientCapabilities do + alias Expert.Proto defmodule MessageActionItem do use Proto @@ -11,6 +11,6 @@ defmodule Lexical.Protocol.Types.ShowMessageRequest.ClientCapabilities do deftype message_action_item: optional( - Lexical.Protocol.Types.ShowMessageRequest.ClientCapabilities.MessageActionItem + Expert.Protocol.Types.ShowMessageRequest.ClientCapabilities.MessageActionItem ) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/show_message_request/params.ex b/apps/protocol/lib/generated/expert/protocol/types/show_message_request/params.ex similarity index 63% rename from apps/protocol/lib/generated/lexical/protocol/types/show_message_request/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/show_message_request/params.ex index 191ae489..06bb25ba 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/show_message_request/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/show_message_request/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.ShowMessageRequest.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.ShowMessageRequest.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype actions: optional(list_of(Types.Message.ActionItem)), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/signature_help/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/signature_help/client_capabilities.ex similarity index 64% rename from apps/protocol/lib/generated/lexical/protocol/types/signature_help/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/signature_help/client_capabilities.ex index fbee0ccd..250c1549 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/signature_help/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/signature_help/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.SignatureHelp.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.SignatureHelp.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types defmodule ParameterInformation do use Proto @@ -15,7 +15,7 @@ defmodule Lexical.Protocol.Types.SignatureHelp.ClientCapabilities do documentation_format: optional(list_of(Types.Markup.Kind)), parameter_information: optional( - Lexical.Protocol.Types.SignatureHelp.ClientCapabilities.ParameterInformation + Expert.Protocol.Types.SignatureHelp.ClientCapabilities.ParameterInformation ) end @@ -24,5 +24,5 @@ defmodule Lexical.Protocol.Types.SignatureHelp.ClientCapabilities do deftype context_support: optional(boolean()), dynamic_registration: optional(boolean()), signature_information: - optional(Lexical.Protocol.Types.SignatureHelp.ClientCapabilities.SignatureInformation) + optional(Expert.Protocol.Types.SignatureHelp.ClientCapabilities.SignatureInformation) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/signature_help/options.ex b/apps/protocol/lib/generated/expert/protocol/types/signature_help/options.ex similarity index 75% rename from apps/protocol/lib/generated/lexical/protocol/types/signature_help/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/signature_help/options.ex index cd61fcb0..99828247 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/signature_help/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/signature_help/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.SignatureHelp.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.SignatureHelp.Options do + alias Expert.Proto use Proto deftype retrigger_characters: optional(list_of(string())), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/symbol/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/symbol/kind.ex similarity index 90% rename from apps/protocol/lib/generated/lexical/protocol/types/symbol/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/symbol/kind.ex index bfd82a51..990f89fb 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/symbol/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/symbol/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Symbol.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Symbol.Kind do + alias Expert.Proto use Proto defenum file: 1, diff --git a/apps/protocol/lib/generated/lexical/protocol/types/symbol/tag.ex b/apps/protocol/lib/generated/expert/protocol/types/symbol/tag.ex similarity index 58% rename from apps/protocol/lib/generated/lexical/protocol/types/symbol/tag.ex rename to apps/protocol/lib/generated/expert/protocol/types/symbol/tag.ex index 2be1d71d..a59090f9 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/symbol/tag.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/symbol/tag.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Symbol.Tag do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Symbol.Tag do + alias Expert.Proto use Proto defenum deprecated: 1 end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_document/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/text_document/client_capabilities.ex similarity index 95% rename from apps/protocol/lib/generated/lexical/protocol/types/text_document/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_document/client_capabilities.ex index d7129c26..62aedfa6 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_document/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_document/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextDocument.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.TextDocument.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype call_hierarchy: optional(Types.CallHierarchy.ClientCapabilities), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_document/content_change_event.ex b/apps/protocol/lib/generated/expert/protocol/types/text_document/content_change_event.ex similarity index 52% rename from apps/protocol/lib/generated/lexical/protocol/types/text_document/content_change_event.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_document/content_change_event.ex index 5abd1fc9..e8117245 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_document/content_change_event.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_document/content_change_event.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextDocument.ContentChangeEvent do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.TextDocument.ContentChangeEvent do + alias Expert.Proto + alias Expert.Protocol.Types defmodule TextDocumentContentChangeEvent do use Proto @@ -16,7 +16,7 @@ defmodule Lexical.Protocol.Types.TextDocument.ContentChangeEvent do use Proto defalias one_of([ - Lexical.Protocol.Types.TextDocument.ContentChangeEvent.TextDocumentContentChangeEvent, - Lexical.Protocol.Types.TextDocument.ContentChangeEvent.TextDocumentContentChangeEvent1 + Expert.Protocol.Types.TextDocument.ContentChangeEvent.TextDocumentContentChangeEvent, + Expert.Protocol.Types.TextDocument.ContentChangeEvent.TextDocumentContentChangeEvent1 ]) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_document/edit.ex b/apps/protocol/lib/generated/expert/protocol/types/text_document/edit.ex similarity index 67% rename from apps/protocol/lib/generated/lexical/protocol/types/text_document/edit.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_document/edit.ex index 68e9933e..af2284fd 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_document/edit.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_document/edit.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextDocument.Edit do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.TextDocument.Edit do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype edits: list_of(one_of([Types.TextEdit, Types.TextEdit.Annotated])), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_document/filter.ex b/apps/protocol/lib/generated/expert/protocol/types/text_document/filter.ex similarity index 63% rename from apps/protocol/lib/generated/lexical/protocol/types/text_document/filter.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_document/filter.ex index 3acfaf93..88ef77c3 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_document/filter.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_document/filter.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextDocument.Filter do - alias Lexical.Proto +defmodule Expert.Protocol.Types.TextDocument.Filter do + alias Expert.Proto defmodule TextDocumentFilter do use Proto @@ -20,8 +20,8 @@ defmodule Lexical.Protocol.Types.TextDocument.Filter do use Proto defalias one_of([ - Lexical.Protocol.Types.TextDocument.Filter.TextDocumentFilter, - Lexical.Protocol.Types.TextDocument.Filter.TextDocumentFilter1, - Lexical.Protocol.Types.TextDocument.Filter.TextDocumentFilter2 + Expert.Protocol.Types.TextDocument.Filter.TextDocumentFilter, + Expert.Protocol.Types.TextDocument.Filter.TextDocumentFilter1, + Expert.Protocol.Types.TextDocument.Filter.TextDocumentFilter2 ]) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_document/identifier.ex b/apps/protocol/lib/generated/expert/protocol/types/text_document/identifier.ex similarity index 53% rename from apps/protocol/lib/generated/lexical/protocol/types/text_document/identifier.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_document/identifier.ex index 031f7c1c..9f20d51d 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_document/identifier.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_document/identifier.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextDocument.Identifier do - alias Lexical.Proto +defmodule Expert.Protocol.Types.TextDocument.Identifier do + alias Expert.Proto use Proto deftype uri: string() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_document/item.ex b/apps/protocol/lib/generated/expert/protocol/types/text_document/item.ex similarity index 67% rename from apps/protocol/lib/generated/lexical/protocol/types/text_document/item.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_document/item.ex index ad6ee9ae..96f59367 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_document/item.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_document/item.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextDocument.Item do - alias Lexical.Proto +defmodule Expert.Protocol.Types.TextDocument.Item do + alias Expert.Proto use Proto deftype language_id: string(), text: string(), uri: string(), version: integer() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_document/optional_versioned/identifier.ex b/apps/protocol/lib/generated/expert/protocol/types/text_document/optional_versioned/identifier.ex similarity index 56% rename from apps/protocol/lib/generated/lexical/protocol/types/text_document/optional_versioned/identifier.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_document/optional_versioned/identifier.ex index 1ac0d95d..043e12b0 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_document/optional_versioned/identifier.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_document/optional_versioned/identifier.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextDocument.OptionalVersioned.Identifier do - alias Lexical.Proto +defmodule Expert.Protocol.Types.TextDocument.OptionalVersioned.Identifier do + alias Expert.Proto use Proto deftype uri: string(), version: one_of([integer(), nil]) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_document/sync/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/text_document/sync/client_capabilities.ex similarity index 73% rename from apps/protocol/lib/generated/lexical/protocol/types/text_document/sync/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_document/sync/client_capabilities.ex index 7c4a3eb3..950e13cb 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_document/sync/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_document/sync/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextDocument.Sync.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.TextDocument.Sync.ClientCapabilities do + alias Expert.Proto use Proto deftype did_save: optional(boolean()), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_document/sync/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/text_document/sync/kind.ex similarity index 58% rename from apps/protocol/lib/generated/lexical/protocol/types/text_document/sync/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_document/sync/kind.ex index aa2f6e4d..1c891445 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_document/sync/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_document/sync/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextDocument.Sync.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.TextDocument.Sync.Kind do + alias Expert.Proto use Proto defenum none: 0, full: 1, incremental: 2 end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_document/sync/options.ex b/apps/protocol/lib/generated/expert/protocol/types/text_document/sync/options.ex similarity index 74% rename from apps/protocol/lib/generated/lexical/protocol/types/text_document/sync/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_document/sync/options.ex index ffe35773..9332d3f1 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_document/sync/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_document/sync/options.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextDocument.Sync.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.TextDocument.Sync.Options do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype change: optional(Types.TextDocument.Sync.Kind), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_document/versioned/identifier.ex b/apps/protocol/lib/generated/expert/protocol/types/text_document/versioned/identifier.ex similarity index 55% rename from apps/protocol/lib/generated/lexical/protocol/types/text_document/versioned/identifier.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_document/versioned/identifier.ex index abeee4e5..108c252d 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_document/versioned/identifier.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_document/versioned/identifier.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextDocument.Versioned.Identifier do - alias Lexical.Proto +defmodule Expert.Protocol.Types.TextDocument.Versioned.Identifier do + alias Expert.Proto use Proto deftype uri: string(), version: integer() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_edit.ex b/apps/protocol/lib/generated/expert/protocol/types/text_edit.ex similarity index 55% rename from apps/protocol/lib/generated/lexical/protocol/types/text_edit.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_edit.ex index 1c586b18..4d2bf890 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_edit.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_edit.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextEdit do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.TextEdit do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype new_text: string(), range: Types.Range end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/text_edit/annotated.ex b/apps/protocol/lib/generated/expert/protocol/types/text_edit/annotated.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/text_edit/annotated.ex rename to apps/protocol/lib/generated/expert/protocol/types/text_edit/annotated.ex index 73ea069a..fa8c4ddc 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/text_edit/annotated.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/text_edit/annotated.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TextEdit.Annotated do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.TextEdit.Annotated do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype annotation_id: Types.ChangeAnnotation.Identifier, new_text: string(), range: Types.Range end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/token_format.ex b/apps/protocol/lib/generated/expert/protocol/types/token_format.ex similarity index 59% rename from apps/protocol/lib/generated/lexical/protocol/types/token_format.ex rename to apps/protocol/lib/generated/expert/protocol/types/token_format.ex index a4024144..1277598d 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/token_format.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/token_format.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TokenFormat do - alias Lexical.Proto +defmodule Expert.Protocol.Types.TokenFormat do + alias Expert.Proto use Proto defenum relative: "relative" end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/trace_values.ex b/apps/protocol/lib/generated/expert/protocol/types/trace_values.ex similarity index 65% rename from apps/protocol/lib/generated/lexical/protocol/types/trace_values.ex rename to apps/protocol/lib/generated/expert/protocol/types/trace_values.ex index 5f4d721b..04846420 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/trace_values.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/trace_values.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TraceValues do - alias Lexical.Proto +defmodule Expert.Protocol.Types.TraceValues do + alias Expert.Proto use Proto defenum off: "off", messages: "messages", verbose: "verbose" end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/implementation/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/type_definition/client_capabilities.ex similarity index 63% rename from apps/protocol/lib/generated/lexical/protocol/types/implementation/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/type_definition/client_capabilities.ex index 04edf91c..f89a97ef 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/implementation/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/type_definition/client_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Implementation.ClientCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.TypeDefinition.ClientCapabilities do + alias Expert.Proto use Proto deftype dynamic_registration: optional(boolean()), link_support: optional(boolean()) end diff --git a/apps/protocol/lib/generated/expert/protocol/types/type_definition/options.ex b/apps/protocol/lib/generated/expert/protocol/types/type_definition/options.ex new file mode 100644 index 00000000..535ac3b9 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/type_definition/options.ex @@ -0,0 +1,6 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.TypeDefinition.Options do + alias Expert.Proto + use Proto + deftype work_done_progress: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/expert/protocol/types/type_definition/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/type_definition/registration/options.ex new file mode 100644 index 00000000..e3839eb1 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/type_definition/registration/options.ex @@ -0,0 +1,10 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.TypeDefinition.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types + use Proto + + deftype document_selector: one_of([Types.Document.Selector, nil]), + id: optional(string()), + work_done_progress: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/expert/protocol/types/type_hierarchy/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/type_hierarchy/client_capabilities.ex new file mode 100644 index 00000000..a0bb193a --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/type_hierarchy/client_capabilities.ex @@ -0,0 +1,6 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.TypeHierarchy.ClientCapabilities do + alias Expert.Proto + use Proto + deftype dynamic_registration: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/inline_value/options.ex b/apps/protocol/lib/generated/expert/protocol/types/type_hierarchy/options.ex similarity index 61% rename from apps/protocol/lib/generated/lexical/protocol/types/inline_value/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/type_hierarchy/options.ex index f15b7486..b3abf94e 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/inline_value/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/type_hierarchy/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.InlineValue.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.TypeHierarchy.Options do + alias Expert.Proto use Proto deftype work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/expert/protocol/types/type_hierarchy/registration/options.ex b/apps/protocol/lib/generated/expert/protocol/types/type_hierarchy/registration/options.ex new file mode 100644 index 00000000..22bf931b --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/type_hierarchy/registration/options.ex @@ -0,0 +1,10 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.TypeHierarchy.Registration.Options do + alias Expert.Proto + alias Expert.Protocol.Types + use Proto + + deftype document_selector: one_of([Types.Document.Selector, nil]), + id: optional(string()), + work_done_progress: optional(boolean()) +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/watch/kind.ex b/apps/protocol/lib/generated/expert/protocol/types/watch/kind.ex similarity index 62% rename from apps/protocol/lib/generated/lexical/protocol/types/watch/kind.ex rename to apps/protocol/lib/generated/expert/protocol/types/watch/kind.ex index 429d7886..68681f57 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/watch/kind.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/watch/kind.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Watch.Kind do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Watch.Kind do + alias Expert.Proto use Proto defenum create: 1, change: 2, delete: 4 end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/window/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/window/client_capabilities.ex similarity index 70% rename from apps/protocol/lib/generated/lexical/protocol/types/window/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/window/client_capabilities.ex index 793c695d..6e8c9cc2 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/window/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/window/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Window.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Window.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype show_document: optional(Types.ShowDocument.ClientCapabilities), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/begin.ex b/apps/protocol/lib/generated/expert/protocol/types/work_done/progress/begin.ex similarity index 75% rename from apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/begin.ex rename to apps/protocol/lib/generated/expert/protocol/types/work_done/progress/begin.ex index fef28518..d9f534e8 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/begin.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/work_done/progress/begin.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.WorkDone.Progress.Begin do - alias Lexical.Proto +defmodule Expert.Protocol.Types.WorkDone.Progress.Begin do + alias Expert.Proto use Proto deftype cancellable: optional(boolean()), diff --git a/apps/protocol/lib/generated/expert/protocol/types/work_done/progress/create/params.ex b/apps/protocol/lib/generated/expert/protocol/types/work_done/progress/create/params.ex new file mode 100644 index 00000000..921a2f19 --- /dev/null +++ b/apps/protocol/lib/generated/expert/protocol/types/work_done/progress/create/params.ex @@ -0,0 +1,7 @@ +# This file's contents are auto-generated. Do not edit. +defmodule Expert.Protocol.Types.WorkDone.Progress.Create.Params do + alias Expert.Proto + alias Expert.Protocol.Types + use Proto + deftype token: Types.Progress.Token +end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/end.ex b/apps/protocol/lib/generated/expert/protocol/types/work_done/progress/end.ex similarity index 62% rename from apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/end.ex rename to apps/protocol/lib/generated/expert/protocol/types/work_done/progress/end.ex index 5a087912..a71e5c42 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/end.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/work_done/progress/end.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.WorkDone.Progress.End do - alias Lexical.Proto +defmodule Expert.Protocol.Types.WorkDone.Progress.End do + alias Expert.Proto use Proto deftype kind: literal("end"), message: optional(string()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/params.ex b/apps/protocol/lib/generated/expert/protocol/types/work_done/progress/params.ex similarity index 53% rename from apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/work_done/progress/params.ex index 576ebbc8..371376af 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/work_done/progress/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.WorkDone.Progress.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.WorkDone.Progress.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype work_done_token: optional(Types.Progress.Token) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/report.ex b/apps/protocol/lib/generated/expert/protocol/types/work_done/progress/report.ex similarity index 73% rename from apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/report.ex rename to apps/protocol/lib/generated/expert/protocol/types/work_done/progress/report.ex index cd584b98..91774af3 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/report.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/work_done/progress/report.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.WorkDone.Progress.Report do - alias Lexical.Proto +defmodule Expert.Protocol.Types.WorkDone.Progress.Report do + alias Expert.Proto use Proto deftype cancellable: optional(boolean()), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/workspace/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/workspace/client_capabilities.ex similarity index 90% rename from apps/protocol/lib/generated/lexical/protocol/types/workspace/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/workspace/client_capabilities.ex index 4e9ac193..b8c608a7 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/workspace/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/workspace/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Workspace.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Workspace.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype apply_edit: optional(boolean()), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/workspace/edit.ex b/apps/protocol/lib/generated/expert/protocol/types/workspace/edit.ex similarity index 82% rename from apps/protocol/lib/generated/lexical/protocol/types/workspace/edit.ex rename to apps/protocol/lib/generated/expert/protocol/types/workspace/edit.ex index 291ccdf0..76b931ad 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/workspace/edit.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/workspace/edit.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Workspace.Edit do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Workspace.Edit do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype change_annotations: optional(map_of(Types.ChangeAnnotation)), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/workspace/edit/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/workspace/edit/client_capabilities.ex similarity index 69% rename from apps/protocol/lib/generated/lexical/protocol/types/workspace/edit/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/workspace/edit/client_capabilities.ex index 1e53f144..e25434af 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/workspace/edit/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/workspace/edit/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Workspace.Edit.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Workspace.Edit.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types defmodule ChangeAnnotationSupport do use Proto @@ -12,7 +12,7 @@ defmodule Lexical.Protocol.Types.Workspace.Edit.ClientCapabilities do deftype change_annotation_support: optional( - Lexical.Protocol.Types.Workspace.Edit.ClientCapabilities.ChangeAnnotationSupport + Expert.Protocol.Types.Workspace.Edit.ClientCapabilities.ChangeAnnotationSupport ), document_changes: optional(boolean()), failure_handling: optional(Types.FailureHandling.Kind), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/workspace/folder.ex b/apps/protocol/lib/generated/expert/protocol/types/workspace/folder.ex similarity index 59% rename from apps/protocol/lib/generated/lexical/protocol/types/workspace/folder.ex rename to apps/protocol/lib/generated/expert/protocol/types/workspace/folder.ex index ee84e8db..e4656297 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/workspace/folder.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/workspace/folder.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Workspace.Folder do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Workspace.Folder do + alias Expert.Proto use Proto deftype name: string(), uri: string() end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/workspace/folders_server_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/workspace/folders_server_capabilities.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/workspace/folders_server_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/workspace/folders_server_capabilities.ex index e34a3c83..00a22729 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/workspace/folders_server_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/workspace/folders_server_capabilities.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Workspace.FoldersServerCapabilities do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Workspace.FoldersServerCapabilities do + alias Expert.Proto use Proto deftype change_notifications: optional(one_of([string(), boolean()])), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/workspace/symbol.ex b/apps/protocol/lib/generated/expert/protocol/types/workspace/symbol.ex similarity index 62% rename from apps/protocol/lib/generated/lexical/protocol/types/workspace/symbol.ex rename to apps/protocol/lib/generated/expert/protocol/types/workspace/symbol.ex index 4938ed1c..93a6679c 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/workspace/symbol.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/workspace/symbol.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Workspace.Symbol do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Workspace.Symbol do + alias Expert.Proto + alias Expert.Protocol.Types defmodule Location do use Proto @@ -13,7 +13,7 @@ defmodule Lexical.Protocol.Types.Workspace.Symbol do deftype container_name: optional(string()), data: optional(any()), kind: Types.Symbol.Kind, - location: one_of([Types.Location, Lexical.Protocol.Types.Workspace.Symbol.Location]), + location: one_of([Types.Location, Expert.Protocol.Types.Workspace.Symbol.Location]), name: string(), tags: optional(list_of(Types.Symbol.Tag)) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/workspace/symbol/client_capabilities.ex b/apps/protocol/lib/generated/expert/protocol/types/workspace/symbol/client_capabilities.ex similarity index 54% rename from apps/protocol/lib/generated/lexical/protocol/types/workspace/symbol/client_capabilities.ex rename to apps/protocol/lib/generated/expert/protocol/types/workspace/symbol/client_capabilities.ex index 56e3e7ef..ce84fc33 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/workspace/symbol/client_capabilities.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/workspace/symbol/client_capabilities.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Workspace.Symbol.ClientCapabilities do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Workspace.Symbol.ClientCapabilities do + alias Expert.Proto + alias Expert.Protocol.Types defmodule ResolveSupport do use Proto @@ -22,9 +22,9 @@ defmodule Lexical.Protocol.Types.Workspace.Symbol.ClientCapabilities do deftype dynamic_registration: optional(boolean()), resolve_support: - optional(Lexical.Protocol.Types.Workspace.Symbol.ClientCapabilities.ResolveSupport), + optional(Expert.Protocol.Types.Workspace.Symbol.ClientCapabilities.ResolveSupport), symbol_kind: - optional(Lexical.Protocol.Types.Workspace.Symbol.ClientCapabilities.SymbolKind), + optional(Expert.Protocol.Types.Workspace.Symbol.ClientCapabilities.SymbolKind), tag_support: - optional(Lexical.Protocol.Types.Workspace.Symbol.ClientCapabilities.TagSupport) + optional(Expert.Protocol.Types.Workspace.Symbol.ClientCapabilities.TagSupport) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/workspace/symbol/options.ex b/apps/protocol/lib/generated/expert/protocol/types/workspace/symbol/options.ex similarity index 65% rename from apps/protocol/lib/generated/lexical/protocol/types/workspace/symbol/options.ex rename to apps/protocol/lib/generated/expert/protocol/types/workspace/symbol/options.ex index a836f2a9..856f76ff 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/workspace/symbol/options.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/workspace/symbol/options.ex @@ -1,6 +1,6 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Workspace.Symbol.Options do - alias Lexical.Proto +defmodule Expert.Protocol.Types.Workspace.Symbol.Options do + alias Expert.Proto use Proto deftype resolve_provider: optional(boolean()), work_done_progress: optional(boolean()) end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/workspace/symbol/params.ex b/apps/protocol/lib/generated/expert/protocol/types/workspace/symbol/params.ex similarity index 66% rename from apps/protocol/lib/generated/lexical/protocol/types/workspace/symbol/params.ex rename to apps/protocol/lib/generated/expert/protocol/types/workspace/symbol/params.ex index 288eac72..00fa822f 100644 --- a/apps/protocol/lib/generated/lexical/protocol/types/workspace/symbol/params.ex +++ b/apps/protocol/lib/generated/expert/protocol/types/workspace/symbol/params.ex @@ -1,7 +1,7 @@ # This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Workspace.Symbol.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types +defmodule Expert.Protocol.Types.Workspace.Symbol.Params do + alias Expert.Proto + alias Expert.Protocol.Types use Proto deftype partial_result_token: optional(Types.Progress.Token), diff --git a/apps/protocol/lib/generated/lexical/protocol/types/did_change_watched_files/params.ex b/apps/protocol/lib/generated/lexical/protocol/types/did_change_watched_files/params.ex deleted file mode 100644 index 50e7b589..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/did_change_watched_files/params.ex +++ /dev/null @@ -1,7 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.DidChangeWatchedFiles.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types - use Proto - deftype changes: list_of(Types.FileEvent) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/did_change_watched_files/registration/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/did_change_watched_files/registration/options.ex deleted file mode 100644 index 2332248c..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/did_change_watched_files/registration/options.ex +++ /dev/null @@ -1,7 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.DidChangeWatchedFiles.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types - use Proto - deftype watchers: list_of(Types.FileSystemWatcher) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/formatting/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/document/formatting/options.ex deleted file mode 100644 index 03b48498..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/formatting/options.ex +++ /dev/null @@ -1,6 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Formatting.Options do - alias Lexical.Proto - use Proto - deftype work_done_progress: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/highlight/client_capabilities.ex b/apps/protocol/lib/generated/lexical/protocol/types/document/highlight/client_capabilities.ex deleted file mode 100644 index a1560429..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/highlight/client_capabilities.ex +++ /dev/null @@ -1,6 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Highlight.ClientCapabilities do - alias Lexical.Proto - use Proto - deftype dynamic_registration: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/highlight/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/document/highlight/options.ex deleted file mode 100644 index cf54837e..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/highlight/options.ex +++ /dev/null @@ -1,6 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.Highlight.Options do - alias Lexical.Proto - use Proto - deftype work_done_progress: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/on_type_formatting/client_capabilities.ex b/apps/protocol/lib/generated/lexical/protocol/types/document/on_type_formatting/client_capabilities.ex deleted file mode 100644 index b9b8b04d..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/on_type_formatting/client_capabilities.ex +++ /dev/null @@ -1,6 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.OnTypeFormatting.ClientCapabilities do - alias Lexical.Proto - use Proto - deftype dynamic_registration: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/document/range_formatting/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/document/range_formatting/options.ex deleted file mode 100644 index 7c5fa04e..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/document/range_formatting/options.ex +++ /dev/null @@ -1,6 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Document.RangeFormatting.Options do - alias Lexical.Proto - use Proto - deftype work_done_progress: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/implementation/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/implementation/options.ex deleted file mode 100644 index e691b1a3..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/implementation/options.ex +++ /dev/null @@ -1,6 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Implementation.Options do - alias Lexical.Proto - use Proto - deftype work_done_progress: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/implementation/registration/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/implementation/registration/options.ex deleted file mode 100644 index 676bd977..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/implementation/registration/options.ex +++ /dev/null @@ -1,10 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.Implementation.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types - use Proto - - deftype document_selector: one_of([Types.Document.Selector, nil]), - id: optional(string()), - work_done_progress: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/linked_editing_range/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/linked_editing_range/options.ex deleted file mode 100644 index e70a7cf5..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/linked_editing_range/options.ex +++ /dev/null @@ -1,6 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.LinkedEditingRange.Options do - alias Lexical.Proto - use Proto - deftype work_done_progress: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/linked_editing_range/registration/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/linked_editing_range/registration/options.ex deleted file mode 100644 index 2b0e0d62..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/linked_editing_range/registration/options.ex +++ /dev/null @@ -1,10 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.LinkedEditingRange.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types - use Proto - - deftype document_selector: one_of([Types.Document.Selector, nil]), - id: optional(string()), - work_done_progress: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/selection_range/client_capabilities.ex b/apps/protocol/lib/generated/lexical/protocol/types/selection_range/client_capabilities.ex deleted file mode 100644 index 74d4e3c4..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/selection_range/client_capabilities.ex +++ /dev/null @@ -1,6 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.SelectionRange.ClientCapabilities do - alias Lexical.Proto - use Proto - deftype dynamic_registration: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/selection_range/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/selection_range/options.ex deleted file mode 100644 index fb73ff03..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/selection_range/options.ex +++ /dev/null @@ -1,6 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.SelectionRange.Options do - alias Lexical.Proto - use Proto - deftype work_done_progress: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/selection_range/registration/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/selection_range/registration/options.ex deleted file mode 100644 index 2ed5b687..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/selection_range/registration/options.ex +++ /dev/null @@ -1,10 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.SelectionRange.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types - use Proto - - deftype document_selector: one_of([Types.Document.Selector, nil]), - id: optional(string()), - work_done_progress: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/workspace/client_capabilities.ex b/apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/workspace/client_capabilities.ex deleted file mode 100644 index 02791fe8..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/semantic_tokens/workspace/client_capabilities.ex +++ /dev/null @@ -1,6 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.SemanticTokens.Workspace.ClientCapabilities do - alias Lexical.Proto - use Proto - deftype refresh_support: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/type_definition/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/type_definition/options.ex deleted file mode 100644 index 3af0d7fd..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/type_definition/options.ex +++ /dev/null @@ -1,6 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TypeDefinition.Options do - alias Lexical.Proto - use Proto - deftype work_done_progress: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/type_definition/registration/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/type_definition/registration/options.ex deleted file mode 100644 index 448ed520..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/type_definition/registration/options.ex +++ /dev/null @@ -1,10 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TypeDefinition.Registration.Options do - alias Lexical.Proto - alias Lexical.Protocol.Types - use Proto - - deftype document_selector: one_of([Types.Document.Selector, nil]), - id: optional(string()), - work_done_progress: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/type_hierarchy/options.ex b/apps/protocol/lib/generated/lexical/protocol/types/type_hierarchy/options.ex deleted file mode 100644 index cbb70e29..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/type_hierarchy/options.ex +++ /dev/null @@ -1,6 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.TypeHierarchy.Options do - alias Lexical.Proto - use Proto - deftype work_done_progress: optional(boolean()) -end diff --git a/apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/create/params.ex b/apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/create/params.ex deleted file mode 100644 index 07e51dfb..00000000 --- a/apps/protocol/lib/generated/lexical/protocol/types/work_done/progress/create/params.ex +++ /dev/null @@ -1,7 +0,0 @@ -# This file's contents are auto-generated. Do not edit. -defmodule Lexical.Protocol.Types.WorkDone.Progress.Create.Params do - alias Lexical.Proto - alias Lexical.Protocol.Types - use Proto - deftype token: Types.Progress.Token -end diff --git a/apps/protocol/mix.exs b/apps/protocol/mix.exs index f0257a68..06877c05 100644 --- a/apps/protocol/mix.exs +++ b/apps/protocol/mix.exs @@ -1,4 +1,4 @@ -defmodule Lexical.Protocol.MixProject do +defmodule Expert.Protocol.MixProject do use Mix.Project Code.require_file("../../mix_includes.exs") @@ -29,7 +29,7 @@ defmodule Lexical.Protocol.MixProject do # Run "mix help deps" to learn about dependencies. defp deps do [ - {:common, path: "../common", env: Mix.env()}, + {:forge, path: "../forge", env: Mix.env()}, Mix.Credo.dependency(), Mix.Dialyzer.dependency(), {:jason, "~> 1.4", optional: true}, diff --git a/apps/protocol/test/lexical/proto_test.exs b/apps/protocol/test/expert/proto_test.exs similarity index 98% rename from apps/protocol/test/lexical/proto_test.exs rename to apps/protocol/test/expert/proto_test.exs index 6ffc9c40..2a05e93d 100644 --- a/apps/protocol/test/lexical/proto_test.exs +++ b/apps/protocol/test/expert/proto_test.exs @@ -1,10 +1,10 @@ -defmodule Lexical.ProtoTest do - alias Lexical.Document - alias Lexical.Proto - alias Lexical.Proto.Convert - alias Lexical.Proto.LspTypes - alias Lexical.Protocol.Types - alias Lexical.Test.Protocol.Fixtures.LspProtocol +defmodule Expert.ProtoTest do + alias Forge.Document + alias Expert.Proto + alias Expert.Proto.Convert + alias Expert.Proto.LspTypes + alias Expert.Protocol.Types + alias Expert.Test.Protocol.Fixtures.LspProtocol import LspProtocol diff --git a/apps/protocol/test/lexical/protocol/conversions_test.exs b/apps/protocol/test/expert/protocol/conversions_test.exs similarity index 93% rename from apps/protocol/test/lexical/protocol/conversions_test.exs rename to apps/protocol/test/expert/protocol/conversions_test.exs index c6ae2f30..e3f7941d 100644 --- a/apps/protocol/test/lexical/protocol/conversions_test.exs +++ b/apps/protocol/test/expert/protocol/conversions_test.exs @@ -1,8 +1,8 @@ -defmodule Lexical.Protocol.ConversionsTest do - alias Lexical.Document - alias Lexical.Document.Position, as: ExPosition - alias Lexical.Protocol.Conversions - alias Lexical.Protocol.Types.Position, as: LSPosition +defmodule Expert.Protocol.ConversionsTest do + alias Forge.Document + alias Forge.Document.Position, as: ExPosition + alias Expert.Protocol.Conversions + alias Expert.Protocol.Types.Position, as: LSPosition use ExUnit.Case diff --git a/apps/protocol/test/lexical/protocol/convertibles/lexical.document.changes_test.exs b/apps/protocol/test/expert/protocol/convertibles/expert.document.changes_test.exs similarity index 91% rename from apps/protocol/test/lexical/protocol/convertibles/lexical.document.changes_test.exs rename to apps/protocol/test/expert/protocol/convertibles/expert.document.changes_test.exs index 2bb29b35..c592659b 100644 --- a/apps/protocol/test/lexical/protocol/convertibles/lexical.document.changes_test.exs +++ b/apps/protocol/test/expert/protocol/convertibles/expert.document.changes_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Convertible.Document.ChangesTest do - use Lexical.Test.Protocol.ConvertibleSupport +defmodule Forge.Convertible.Document.ChangesTest do + use Expert.Test.Protocol.ConvertibleSupport describe "to_lsp/2" do setup [:with_an_open_file] diff --git a/apps/protocol/test/lexical/protocol/convertibles/lexical.document.edit_test.exs b/apps/protocol/test/expert/protocol/convertibles/expert.document.edit_test.exs similarity index 94% rename from apps/protocol/test/lexical/protocol/convertibles/lexical.document.edit_test.exs rename to apps/protocol/test/expert/protocol/convertibles/expert.document.edit_test.exs index b574968f..842519dc 100644 --- a/apps/protocol/test/lexical/protocol/convertibles/lexical.document.edit_test.exs +++ b/apps/protocol/test/expert/protocol/convertibles/expert.document.edit_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Protocol.Convertibles.EditTest do - use Lexical.Test.Protocol.ConvertibleSupport +defmodule Expert.Protocol.Convertibles.EditTest do + use Expert.Test.Protocol.ConvertibleSupport defmodule Inner do defstruct [:position] diff --git a/apps/protocol/test/lexical/protocol/convertibles/lexical.document.location_test.exs b/apps/protocol/test/expert/protocol/convertibles/expert.document.location_test.exs similarity index 93% rename from apps/protocol/test/lexical/protocol/convertibles/lexical.document.location_test.exs rename to apps/protocol/test/expert/protocol/convertibles/expert.document.location_test.exs index ffb24f0a..195db11c 100644 --- a/apps/protocol/test/lexical/protocol/convertibles/lexical.document.location_test.exs +++ b/apps/protocol/test/expert/protocol/convertibles/expert.document.location_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Protocol.Convertibles.LocationTest do - use Lexical.Test.Protocol.ConvertibleSupport +defmodule Expert.Protocol.Convertibles.LocationTest do + use Expert.Test.Protocol.ConvertibleSupport describe "to_lsp/2" do setup [:with_an_open_file] diff --git a/apps/protocol/test/lexical/protocol/convertibles/lexical.document.position_test.exs b/apps/protocol/test/expert/protocol/convertibles/expert.document.position_test.exs similarity index 94% rename from apps/protocol/test/lexical/protocol/convertibles/lexical.document.position_test.exs rename to apps/protocol/test/expert/protocol/convertibles/expert.document.position_test.exs index 787bdea9..0e054b72 100644 --- a/apps/protocol/test/lexical/protocol/convertibles/lexical.document.position_test.exs +++ b/apps/protocol/test/expert/protocol/convertibles/expert.document.position_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Protocol.Convertibles.PositionTest do - use Lexical.Test.Protocol.ConvertibleSupport +defmodule Expert.Protocol.Convertibles.PositionTest do + use Expert.Test.Protocol.ConvertibleSupport defmodule Inner do defstruct [:position] diff --git a/apps/protocol/test/lexical/protocol/convertibles/lexical.document.range_test.exs b/apps/protocol/test/expert/protocol/convertibles/expert.document.range_test.exs similarity index 93% rename from apps/protocol/test/lexical/protocol/convertibles/lexical.document.range_test.exs rename to apps/protocol/test/expert/protocol/convertibles/expert.document.range_test.exs index 450c265c..dfc845bf 100644 --- a/apps/protocol/test/lexical/protocol/convertibles/lexical.document.range_test.exs +++ b/apps/protocol/test/expert/protocol/convertibles/expert.document.range_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Protocol.Convertibles.RangeTest do - use Lexical.Test.Protocol.ConvertibleSupport +defmodule Expert.Protocol.Convertibles.RangeTest do + use Expert.Test.Protocol.ConvertibleSupport describe "to_lsp/2" do setup [:with_an_open_file] diff --git a/apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.location_test.exs b/apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.location_test.exs similarity index 96% rename from apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.location_test.exs rename to apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.location_test.exs index 0bd46e2f..c8065353 100644 --- a/apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.location_test.exs +++ b/apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.location_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Protocol.Types.Convertibles.LocationTest do - use Lexical.Test.Protocol.ConvertibleSupport +defmodule Expert.Protocol.Types.Convertibles.LocationTest do + use Expert.Test.Protocol.ConvertibleSupport describe "to_lsp/2" do setup [:with_an_open_file] diff --git a/apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.position_test.exs b/apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.position_test.exs similarity index 88% rename from apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.position_test.exs rename to apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.position_test.exs index 60275f71..570a62d1 100644 --- a/apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.position_test.exs +++ b/apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.position_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Protocol.Types.Convertibles.PositionTest do - use Lexical.Test.Protocol.ConvertibleSupport +defmodule Expert.Protocol.Types.Convertibles.PositionTest do + use Expert.Test.Protocol.ConvertibleSupport describe "to_lsp/2" do setup [:with_an_open_file] diff --git a/apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.range_test.exs b/apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.range_test.exs similarity index 95% rename from apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.range_test.exs rename to apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.range_test.exs index 77add300..62124eb0 100644 --- a/apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.range_test.exs +++ b/apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.range_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Protocol.Types.Convertibles.RangeTest do - use Lexical.Test.Protocol.ConvertibleSupport +defmodule Expert.Protocol.Types.Convertibles.RangeTest do + use Expert.Test.Protocol.ConvertibleSupport describe "to_lsp/2" do setup [:with_an_open_file] diff --git a/apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.text_document.content_change_event1_test.exs b/apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.text_document.content_change_event1_test.exs similarity index 73% rename from apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.text_document.content_change_event1_test.exs rename to apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.text_document.content_change_event1_test.exs index 14390fca..deec6372 100644 --- a/apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.text_document.content_change_event1_test.exs +++ b/apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.text_document.content_change_event1_test.exs @@ -1,8 +1,8 @@ -defmodule Lexical.Protocol.Convertibles.ContentChangeEvent.TextDocumentContentChangeEvent1Test do - alias Lexical.Protocol.Types.TextDocument.ContentChangeEvent.TextDocumentContentChangeEvent1, +defmodule Expert.Protocol.Convertibles.ContentChangeEvent.TextDocumentContentChangeEvent1Test do + alias Expert.Protocol.Types.TextDocument.ContentChangeEvent.TextDocumentContentChangeEvent1, as: TextOnlyEvent - use Lexical.Test.Protocol.ConvertibleSupport + use Expert.Test.Protocol.ConvertibleSupport describe "to_lsp/2)" do setup [:with_an_open_file] diff --git a/apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.text_edit_test.exs b/apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.text_edit_test.exs similarity index 94% rename from apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.text_edit_test.exs rename to apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.text_edit_test.exs index b246ea22..ef8668f8 100644 --- a/apps/protocol/test/lexical/protocol/convertibles/lexical.protocol.types.text_edit_test.exs +++ b/apps/protocol/test/expert/protocol/convertibles/expert.protocol.types.text_edit_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Protocol.Convertibles.TextEditTest do - use Lexical.Test.Protocol.ConvertibleSupport +defmodule Expert.Protocol.Convertibles.TextEditTest do + use Expert.Test.Protocol.ConvertibleSupport describe "to_lsp/2)" do setup [:with_an_open_file] diff --git a/apps/protocol/test/lexical/protocol/integration/initialize_test.exs b/apps/protocol/test/expert/protocol/integration/initialize_test.exs similarity index 96% rename from apps/protocol/test/lexical/protocol/integration/initialize_test.exs rename to apps/protocol/test/expert/protocol/integration/initialize_test.exs index 3292fcad..93c65724 100644 --- a/apps/protocol/test/lexical/protocol/integration/initialize_test.exs +++ b/apps/protocol/test/expert/protocol/integration/initialize_test.exs @@ -1,8 +1,8 @@ -defmodule Lexical.Protocol.Integrations.InitializeTest do - alias Lexical.Protocol.Requests - alias Lexical.Protocol.Types - alias Lexical.Protocol.Types.Completion - alias Lexical.Protocol.Types.TextDocument +defmodule Expert.Protocol.Integrations.InitializeTest do + alias Expert.Protocol.Requests + alias Expert.Protocol.Types + alias Expert.Protocol.Types.Completion + alias Expert.Protocol.Types.TextDocument use ExUnit.Case @@ -220,13 +220,13 @@ defmodule Lexical.Protocol.Integrations.InitializeTest do "version": "0.10.0" }, "processId": 81648, - "rootPath": "/Users/scottming/Code/lexical", - "rootUri": "file:///Users/scottming/Code/lexical", + "rootPath": "/Users/scottming/Code/Expert", + "rootUri": "file:///Users/scottming/Code/Expert", "trace": "off", "workspaceFolders": [ { - "name": "/Users/scottming/Code/lexical", - "uri": "file:///Users/scottming/Code/lexical" + "name": "/Users/scottming/Code/Expert", + "uri": "file:///Users/scottming/Code/Expert" } ] } diff --git a/apps/protocol/test/lexical/protocol/notifications_test.exs b/apps/protocol/test/expert/protocol/notifications_test.exs similarity index 92% rename from apps/protocol/test/lexical/protocol/notifications_test.exs rename to apps/protocol/test/expert/protocol/notifications_test.exs index 015f5c38..b7547b81 100644 --- a/apps/protocol/test/lexical/protocol/notifications_test.exs +++ b/apps/protocol/test/expert/protocol/notifications_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Protocol.NotificationsTest do - alias Lexical.Protocol.Notifications +defmodule Expert.Protocol.NotificationsTest do + alias Expert.Protocol.Notifications import Notifications use ExUnit.Case diff --git a/apps/protocol/test/lexical/protocol/requests_test.exs b/apps/protocol/test/expert/protocol/requests_test.exs similarity index 93% rename from apps/protocol/test/lexical/protocol/requests_test.exs rename to apps/protocol/test/expert/protocol/requests_test.exs index bc6c44ae..c217b678 100644 --- a/apps/protocol/test/lexical/protocol/requests_test.exs +++ b/apps/protocol/test/expert/protocol/requests_test.exs @@ -1,5 +1,5 @@ -defmodule Lexical.Protocol.RequestsTest do - alias Lexical.Protocol.Requests +defmodule Expert.Protocol.RequestsTest do + alias Expert.Protocol.Requests import Requests use ExUnit.Case diff --git a/apps/protocol/test/lexical/protocol/response_test.exs b/apps/protocol/test/expert/protocol/response_test.exs similarity index 89% rename from apps/protocol/test/lexical/protocol/response_test.exs rename to apps/protocol/test/expert/protocol/response_test.exs index 5d9ba829..1f82cec5 100644 --- a/apps/protocol/test/lexical/protocol/response_test.exs +++ b/apps/protocol/test/expert/protocol/response_test.exs @@ -1,8 +1,8 @@ -defmodule Lexical.Protocol.ResponseTest do - alias Lexical.Document - alias Lexical.Proto - alias Lexical.Proto.Convert - alias Lexical.Protocol.Types +defmodule Expert.Protocol.ResponseTest do + alias Forge.Document + alias Expert.Proto + alias Expert.Proto.Convert + alias Expert.Protocol.Types use ExUnit.Case @@ -24,7 +24,7 @@ defmodule Lexical.Protocol.ResponseTest do setup [:with_open_document] defmodule TextDocumentAndPosition do - alias Lexical.Protocol.Types + alias Expert.Protocol.Types use Proto deftype text_document: Types.TextDocument.Identifier, @@ -51,7 +51,7 @@ defmodule Lexical.Protocol.ResponseTest do end defmodule Locations do - alias Lexical.Protocol.Types + alias Expert.Protocol.Types use Proto defresponse list_of(Types.Location) diff --git a/apps/protocol/test/support/lexical/test/convertible_support.ex b/apps/protocol/test/support/test/convertible_support.ex similarity index 89% rename from apps/protocol/test/support/lexical/test/convertible_support.ex rename to apps/protocol/test/support/test/convertible_support.ex index 7fa68435..90993dc0 100644 --- a/apps/protocol/test/support/lexical/test/convertible_support.ex +++ b/apps/protocol/test/support/test/convertible_support.ex @@ -1,13 +1,13 @@ -defmodule Lexical.Test.Protocol.ConvertibleSupport do - alias Lexical.Convertible - alias Lexical.Document +defmodule Expert.Test.Protocol.ConvertibleSupport do + alias Forge.Convertible + alias Forge.Document use ExUnit.CaseTemplate using do quote location: :keep do - alias Lexical.Protocol.Types - use Lexical.Test.DocumentSupport + alias Expert.Protocol.Types + use Forge.Test.DocumentSupport def open_file_contents do "hello" diff --git a/apps/protocol/test/support/lexical/test/protocol/fixtures/lsp_protocol.ex b/apps/protocol/test/support/test/protocol/fixtures/lsp_protocol.ex similarity index 99% rename from apps/protocol/test/support/lexical/test/protocol/fixtures/lsp_protocol.ex rename to apps/protocol/test/support/test/protocol/fixtures/lsp_protocol.ex index 7aaa346f..59ce3ce0 100644 --- a/apps/protocol/test/support/lexical/test/protocol/fixtures/lsp_protocol.ex +++ b/apps/protocol/test/support/test/protocol/fixtures/lsp_protocol.ex @@ -1,4 +1,4 @@ -defmodule Lexical.Test.Protocol.Fixtures.LspProtocol do +defmodule Expert.Test.Protocol.Fixtures.LspProtocol do def build(module_to_build, opts \\ []) do true = Code.ensure_loaded?(module_to_build) diff --git a/apps/remote_control/lib/lexical/remote_control/application.ex b/apps/remote_control/lib/lexical/remote_control/application.ex deleted file mode 100644 index 907fc43d..00000000 --- a/apps/remote_control/lib/lexical/remote_control/application.ex +++ /dev/null @@ -1,37 +0,0 @@ -defmodule Lexical.RemoteControl.Application do - @moduledoc false - - alias Lexical.RemoteControl - - use Application - require Logger - - @impl true - def start(_type, _args) do - children = - if RemoteControl.project_node?() do - [ - RemoteControl.Api.Proxy, - RemoteControl.Commands.Reindex, - RemoteControl.Module.Loader, - {RemoteControl.Dispatch, progress: true}, - RemoteControl.ModuleMappings, - RemoteControl.Build, - RemoteControl.Build.CaptureServer, - RemoteControl.Plugin.Runner.Supervisor, - RemoteControl.Plugin.Runner.Coordinator, - RemoteControl.Search.Store.Backends.Ets, - {RemoteControl.Search.Store, - [ - &RemoteControl.Search.Indexer.create_index/1, - &RemoteControl.Search.Indexer.update_index/2 - ]} - ] - else - [] - end - - opts = [strategy: :one_for_one, name: Lexical.RemoteControl.Supervisor] - Supervisor.start_link(children, opts) - end -end diff --git a/apps/remote_control/test/lexical/remote_control/dispatch/handlers/indexing_test.exs b/apps/remote_control/test/lexical/remote_control/dispatch/handlers/indexing_test.exs deleted file mode 100644 index 383f3275..00000000 --- a/apps/remote_control/test/lexical/remote_control/dispatch/handlers/indexing_test.exs +++ /dev/null @@ -1,2 +0,0 @@ -defmodule Lexical.RemoteControl.Dispatch.Handlers.IndexerTest do -end diff --git a/apps/server/README.md b/apps/server/README.md deleted file mode 100644 index 4984638f..00000000 --- a/apps/server/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Lexical.Server - -The Lexical Language server implementation diff --git a/apps/server/lib/lexical/server/code_intelligence/completion/translations/typespec.ex b/apps/server/lib/lexical/server/code_intelligence/completion/translations/typespec.ex deleted file mode 100644 index 0ed98d5a..00000000 --- a/apps/server/lib/lexical/server/code_intelligence/completion/translations/typespec.ex +++ /dev/null @@ -1,12 +0,0 @@ -defmodule Lexical.Server.CodeIntelligence.Completion.Translations.Typespec do - alias Lexical.Ast.Env - alias Lexical.RemoteControl.Completion.Candidate - alias Lexical.Server.CodeIntelligence.Completion.Translatable - alias Lexical.Server.CodeIntelligence.Completion.Translations.Callable - - defimpl Translatable, for: Candidate.Typespec do - def translate(typespec, _builder, %Env{} = env) do - Callable.completion(typespec, env) - end - end -end diff --git a/apps/server/test/support/transport/no_op.ex b/apps/server/test/support/transport/no_op.ex deleted file mode 100644 index ffd9e88c..00000000 --- a/apps/server/test/support/transport/no_op.ex +++ /dev/null @@ -1,5 +0,0 @@ -defmodule Lexical.Test.Transport.NoOp do - @behaviour Lexical.Server.Transport - - def write(_message), do: :ok -end diff --git a/flake.nix b/flake.nix index fcc6165e..ad0d7d8a 100644 --- a/flake.nix +++ b/flake.nix @@ -14,7 +14,7 @@ inputs.flake-parts.lib.mkFlake {inherit inputs;} { flake = { lib = { - mkLexical = {erlang}: erlang.callPackage ./nix/lexical.nix {}; + mkExpert = {erlang}: erlang.callPackage ./nix/expert.nix {}; }; }; @@ -26,7 +26,7 @@ ... }: let erlang = pkgs.beam.packages.erlang; - lexical = self.lib.mkLexical {inherit erlang;}; + expert = self.lib.mkExpert {inherit erlang;}; in { formatter = pkgs.alejandra; @@ -47,10 +47,10 @@ }; packages = { - inherit lexical; - default = lexical; + inherit expert; + default = expert; - __fodHashGen = lexical.mixFodDeps.overrideAttrs (final: curr: { + __fodHashGen = expert.mixFodDeps.overrideAttrs (final: curr: { outputHash = pkgs.lib.fakeSha256; }); }; diff --git a/integration/Dockerfile b/integration/Dockerfile index b13624e6..e9e91258 100644 --- a/integration/Dockerfile +++ b/integration/Dockerfile @@ -1,7 +1,7 @@ -# Used to build a clean container for testing the Lexical boot sequence. +# Used to build a clean container for testing the Expert boot sequence. # -# Build: docker build -t lx -f integration/Dockerfile . -# Run: docker run -it lx +# Build: docker build -t xp -f integration/Dockerfile . +# Run: docker run -it xp ARG SYS_ELIXIR_VERSION=1.15.7 ARG SYS_ERLANG_VERSION=26.2.1 @@ -22,7 +22,7 @@ RUN apt-get install -y \ openssl \ libssl-dev -WORKDIR /lexical +WORKDIR /expert COPY integration/boot/set_up_mise.sh integration/boot/set_up_mise.sh RUN integration/boot/set_up_mise.sh @@ -33,7 +33,7 @@ RUN integration/boot/set_up_asdf.sh COPY mix_*.exs . COPY apps apps -WORKDIR /lexical/apps/server +WORKDIR /expert/apps/expert RUN mix local.hex --force RUN mix deps.get diff --git a/integration/README.md b/integration/README.md index 1765c918..812a1d1b 100644 --- a/integration/README.md +++ b/integration/README.md @@ -24,10 +24,10 @@ $ NO_BUILD=1 ./integration/test.sh ### Debugging -Run the tests with `LX_DEBUG=1` to see the output from the underlying commands: +Run the tests with `XP_DEBUG=1` to see the output from the underlying commands: ```sh -$ LX_DEBUG=1 ./integration/test.sh +$ XP_DEBUG=1 ./integration/test.sh ... test_find_asdf_directory... > No version manager detected diff --git a/integration/build.sh b/integration/build.sh index 16a52916..6954dfed 100755 --- a/integration/build.sh +++ b/integration/build.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash set -eo pipefail -docker build -t lx -f integration/Dockerfile . +docker build -t xp -f integration/Dockerfile . diff --git a/integration/test.sh b/integration/test.sh index 7a786593..9e11b4ba 100755 --- a/integration/test.sh +++ b/integration/test.sh @@ -15,14 +15,14 @@ if [ -z "$NO_BUILD" ]; then "$script_dir"/build.sh fi -start_lexical() { - local command='LX_HALT_AFTER_BOOT=1 _build/dev/package/lexical/bin/start_lexical.sh; exit $?' +start_expert() { + local command='XP_HALT_AFTER_BOOT=1 _build/dev/package/expert/bin/start_expert.sh; exit $?' if [[ $1 != "" ]]; then command="$1 && $command" fi - docker run -i lx bash -c "$command" 2>&1 + docker run -i xp bash -c "$command" 2>&1 return $? } @@ -36,10 +36,10 @@ run_test() { log "$test... " local output - output=$(start_lexical "$setup") + output=$(start_expert "$setup") local exit_code=$? - if [[ -n $LX_DEBUG ]]; then + if [[ -n $XP_DEBUG ]]; then log_info "\n$(prefix_lines "> " "$output")" fi diff --git a/mix.exs b/mix.exs index f8a147e5..304e68cd 100644 --- a/mix.exs +++ b/mix.exs @@ -1,4 +1,4 @@ -defmodule Lexical.LanguageServer.MixProject do +defmodule Expert.LanguageServer.MixProject do use Mix.Project def project do @@ -9,7 +9,7 @@ defmodule Lexical.LanguageServer.MixProject do deps: deps(), aliases: aliases(), docs: docs(), - name: "Lexical", + name: "Expert", consolidate_protocols: Mix.env() != :test ] end @@ -33,20 +33,20 @@ defmodule Lexical.LanguageServer.MixProject do ), filter_modules: fn mod_name, _ -> case Module.split(mod_name) do - ["Lexical", "Protocol", "Requests" | _] -> true - ["Lexical", "Protocol", "Notifications" | _] -> true - ["Lexical", "Protocol", "Responses" | _] -> true - ["Lexical", "Protocol" | _] -> false + ["Expert", "Protocol", "Requests" | _] -> true + ["Expert", "Protocol", "Notifications" | _] -> true + ["Expert", "Protocol", "Responses" | _] -> true + ["Expert", "Protocol" | _] -> false _ -> true end end, groups_for_modules: [ - Core: ~r/Lexical.^(RemoteControl|Protocol|Server)/, - "Remote Control": ~r/Lexical.RemoteControl/, - "Protocol Requests": ~r/Lexical.Protocol.Requests/, - "Protocol Notifications": ~r/Lexical.Protocol.Notifications/, - "Protocol Responses": ~r/Lexical.Protocol.Responses/, - Server: ~r/Lexical.Server/ + Core: ~r/Expert.^(RemoteControl|Protocol|Server)/, + "Remote Control": ~r/Expert.RemoteControl/, + "Protocol Requests": ~r/Expert.Protocol.Requests/, + "Protocol Notifications": ~r/Expert.Protocol.Notifications/, + "Protocol Responses": ~r/Expert.Protocol.Responses/, + Server: ~r/Expert.Server/ ] ] end diff --git a/nix/lexical.nix b/nix/expert.nix similarity index 74% rename from nix/lexical.nix rename to nix/expert.nix index 4a319112..7fcf4f18 100644 --- a/nix/lexical.nix +++ b/nix/expert.nix @@ -5,7 +5,7 @@ writeScript, }: mixRelease rec { - pname = "lexical"; + pname = "expert"; version = "development"; src = ./..; @@ -32,12 +32,12 @@ mixRelease rec { true ''; in '' - substituteInPlace "$out/bin/start_lexical.sh" --replace 'elixir_command=' 'elixir_command="${elixir}/bin/"' + substituteInPlace "$out/bin/start_expert.sh" --replace 'elixir_command=' 'elixir_command="${elixir}/bin/"' rm "$out/bin/activate_version_manager.sh" ln -s ${activate_version_manager} "$out/bin/activate_version_manager.sh" mv "$out/bin" "$out/binsh" - makeWrapper "$out/binsh/start_lexical.sh" "$out/bin/lexical" --set RELEASE_COOKIE lexical + makeWrapper "$out/binsh/start_expert.sh" "$out/bin/expert" --set RELEASE_COOKIE expert ''; } diff --git a/pages/architecture.md b/pages/architecture.md index c338597a..76d7820f 100644 --- a/pages/architecture.md +++ b/pages/architecture.md @@ -18,16 +18,16 @@ Since the `remote_control` app only depends on `common`, `path_glob` and `elixir ## Language Server -The language server (the `server` app) is the entry point to Lexical. When started by the `start_lexical.sh` command, it sets up a [transport](https://github.com/lexical-lsp/lexical/blob/main/apps/server/lib/lexical/server/transport.ex) that [reads JsonRPC from standard input and writes responses to standard output](https://github.com/lexical-lsp/lexical/blob/main/apps/server/lib/lexical/server/transport/std_io.ex). +The language server (the `server` app) is the entry point to Lexical. When started by the `start_lexical.sh` command, it sets up a [transport](https://github.com/lexical-lsp/lexical/blob/main/apps/expert/lib/lexical/server/transport.ex) that [reads JsonRPC from standard input and writes responses to standard output](https://github.com/lexical-lsp/lexical/blob/main/apps/expert/lib/lexical/server/transport/std_io.ex). -When a message is received, it is parsed into either a [LSP Request](https://github.com/lexical-lsp/lexical/blob/main/apps/protocol/lib/lexical/protocol/requests.ex) or a [LSP Notification](https://github.com/lexical-lsp/lexical/blob/main/apps/protocol/lib/lexical/protocol/notifications.ex) and then it's handed to the [language server](https://github.com/lexical-lsp/lexical/blob/main/apps/server/lib/lexical/server.ex) to process. +When a message is received, it is parsed into either a [LSP Request](https://github.com/lexical-lsp/lexical/blob/main/apps/protocol/lib/lexical/protocol/requests.ex) or a [LSP Notification](https://github.com/lexical-lsp/lexical/blob/main/apps/protocol/lib/lexical/protocol/notifications.ex) and then it's handed to the [language server](https://github.com/lexical-lsp/lexical/blob/main/apps/expert/lib/lexical/server.ex) to process. -The only messages the [lexical server process](https://github.com/lexical-lsp/lexical/blob/main/apps/server/lib/lexical/server.ex) handles directly are those related to the lifecycle of the language server itself: +The only messages the [lexical server process](https://github.com/lexical-lsp/lexical/blob/main/apps/expert/lib/lexical/server.ex) handles directly are those related to the lifecycle of the language server itself: - Synchronizing document states. - Processing LSP configuration changes. - Performing initialization and shutdown. -All other messages are delegated to a _Provider Handler_. This delegation is accomplished by the server process adding the request to the [provider queue](https://github.com/lexical-lsp/lexical/blob/main/apps/server/lib/lexical/server/provider/queue.ex). The provider queue asks the `Lexical.Server.Provider.Handlers.for_request/1` function which handler is configured to handle the request, creates a task for the handler and starts it. +All other messages are delegated to a _Provider Handler_. This delegation is accomplished by the server process adding the request to the [provider queue](https://github.com/lexical-lsp/lexical/blob/main/apps/expert/lib/lexical/server/provider/queue.ex). The provider queue asks the `Expert.Provider.Handlers.for_request/1` function which handler is configured to handle the request, creates a task for the handler and starts it. -A _Provider Handler_ is just a module that defines a function of arity 2 that takes the request to handle and a `%Lexical.Server.Configuration{}`. These functions can reply to the request, ignore it, or do some other action. +A _Provider Handler_ is just a module that defines a function of arity 2 that takes the request to handle and a `%Expert.Configuration{}`. These functions can reply to the request, ignore it, or do some other action. diff --git a/pages/glossary.md b/pages/glossary.md index 52893e21..3cf46c93 100644 --- a/pages/glossary.md +++ b/pages/glossary.md @@ -67,13 +67,13 @@ The `Lexical.Convertible` protocol helps centralize the necessary conversion log A behaviour responsible for reading, writing, serializing, and deserializing messages between the LSP client and Lexical language server. -The behaviour is defined in `Lexical.Server.Transport`, with the implementation for stdio in `Lexical.Server.Transport.StdIO`. +The behaviour is defined in `Expert.Transport`, with the implementation for stdio in `Expert.Transport.StdIO`. ### The Translatable protocol and Translation modules The `Lexical.Completion.Translatable` protocol specifies how Elixir language constructs (such as behaviour callbacks) are converted into LSP constructs (such as [completion items](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#completionItem)). -See `Lexical.Server.CodeIntelligence.Completion.Translations` for various implementations. +See `Expert.CodeIntelligence.Completion.Translations` for various implementations. ### Code Mods From 8b57c9bd7a353098f6c28c2c079ffe89cdb4a265 Mon Sep 17 00:00:00 2001 From: doorgan Date: Thu, 24 Apr 2025 14:42:55 -0300 Subject: [PATCH 2/6] Don't special case XPert --- .iex.namespaced.exs | 4 ++-- apps/engine/lib/mix/tasks/namespace/module.ex | 4 ---- apps/expert/bin/boot.exs | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/.iex.namespaced.exs b/.iex.namespaced.exs index 0ebb2069..18b495db 100644 --- a/.iex.namespaced.exs +++ b/.iex.namespaced.exs @@ -1,2 +1,2 @@ -use XPert.Server.IEx.Helpers -alias XPert, as: EXpert +use XPExpert.Server.IEx.Helpers +alias XPExpert, as: EXpert diff --git a/apps/engine/lib/mix/tasks/namespace/module.ex b/apps/engine/lib/mix/tasks/namespace/module.ex index cb8ab29b..214bddf7 100644 --- a/apps/engine/lib/mix/tasks/namespace/module.ex +++ b/apps/engine/lib/mix/tasks/namespace/module.ex @@ -69,10 +69,6 @@ defmodule Mix.Tasks.Namespace.Module do String.contains?(candidate, append_trailing_period(root_module)) end - defp namespace("Expert") do - "#{@namespace_prefix}ert" - end - defp namespace(orig) do @namespace_prefix <> orig end diff --git a/apps/expert/bin/boot.exs b/apps/expert/bin/boot.exs index ea5425b7..551a64db 100644 --- a/apps/expert/bin/boot.exs +++ b/apps/expert/bin/boot.exs @@ -20,7 +20,7 @@ end) |> Code.append_path() end) -XPert.Boot.start() +XPExpert.Boot.start() if System.get_env("XP_HALT_AFTER_BOOT") do require Logger From 45cc7d002d30be254246e9529b61665dd321cf99 Mon Sep 17 00:00:00 2001 From: doorgan Date: Thu, 24 Apr 2025 14:43:04 -0300 Subject: [PATCH 3/6] Update tests --- .../expert/test/expert/code_intelligence/completion_test.exs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/expert/test/expert/code_intelligence/completion_test.exs b/apps/expert/test/expert/code_intelligence/completion_test.exs index 48e72b49..12150d7c 100644 --- a/apps/expert/test/expert/code_intelligence/completion_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion_test.exs @@ -9,11 +9,12 @@ defmodule Expert.CodeIntelligence.CompletionTest do describe "excluding modules from expert dependencies" do test "expert modules are removed", %{project: project} do - assert [] = complete(project, "Exper|t") + assert [] = complete(project, "Expert|") end test "Expert submodules are removed", %{project: project} do - assert [] = complete(project, "Expert.RemoteContro|l") + assert [] = complete(project, "Engin|e") + assert [] = complete(project, "Forg|e") end test "Expert functions are removed", %{project: project} do From 4f36f7f9ec82e12419f37f443d6040be91016b4c Mon Sep 17 00:00:00 2001 From: doorgan Date: Thu, 24 Apr 2025 15:56:23 -0300 Subject: [PATCH 4/6] Fix aliases ordering --- apps/engine/.credo.exs | 2 +- apps/engine/benchmarks/ets_bench.exs | 2 +- apps/engine/lib/engine/engine.ex | 2 +- apps/engine/lib/engine/engine/analyzer.ex | 8 ++++---- apps/engine/lib/engine/engine/analyzer/imports.ex | 4 ++-- apps/engine/lib/engine/engine/api.ex | 2 +- apps/engine/lib/engine/engine/api/proxy.ex | 2 +- .../engine/engine/api/proxy/buffering_state.ex | 2 +- apps/engine/lib/engine/engine/application.ex | 2 -- apps/engine/lib/engine/engine/bootstrap.ex | 2 +- apps/engine/lib/engine/engine/build.ex | 2 +- apps/engine/lib/engine/engine/build/document.ex | 2 +- .../engine/build/document/compilers/config.ex | 4 ++-- .../engine/engine/build/document/compilers/eex.ex | 4 ++-- .../engine/build/document/compilers/elixir.ex | 2 +- .../engine/build/document/compilers/heex.ex | 4 ++-- .../engine/build/document/compilers/quoted.ex | 4 ++-- apps/engine/lib/engine/engine/build/error.ex | 2 +- .../engine/lib/engine/engine/build/error/parse.ex | 2 +- apps/engine/lib/engine/engine/build/project.ex | 2 +- apps/engine/lib/engine/engine/build/state.ex | 5 ++--- apps/engine/lib/engine/engine/code_action.ex | 4 ++-- .../lib/engine/engine/code_action/handler.ex | 4 ++-- .../engine/code_action/handlers/add_alias.ex | 2 +- .../code_action/handlers/organize_aliases.ex | 4 ++-- .../engine/code_action/handlers/refactorex.ex | 1 - .../code_action/handlers/remove_unused_alias.ex | 6 +++--- .../handlers/replace_remote_function.ex | 2 +- .../handlers/replace_with_underscore.ex | 4 ++-- .../engine/engine/code_intelligence/definition.ex | 8 ++++---- .../lib/engine/engine/code_intelligence/entity.ex | 4 ++-- .../engine/engine/code_intelligence/references.ex | 8 ++++---- .../engine/engine/code_intelligence/structs.ex | 1 - .../engine/engine/code_intelligence/symbols.ex | 4 ++-- .../engine/code_intelligence/symbols/document.ex | 2 +- .../engine/code_intelligence/symbols/workspace.ex | 2 +- .../engine/engine/code_intelligence/variable.ex | 4 ++-- apps/engine/lib/engine/engine/code_mod/aliases.ex | 2 +- apps/engine/lib/engine/engine/code_mod/format.ex | 2 +- apps/engine/lib/engine/engine/commands/reindex.ex | 6 +++--- .../lib/engine/engine/compilation/tracer.ex | 1 - apps/engine/lib/engine/engine/completion.ex | 2 +- apps/engine/lib/engine/engine/dispatch.ex | 2 +- .../engine/engine/dispatch/handlers/indexing.ex | 2 +- apps/engine/lib/engine/engine/mix.ex | 1 - apps/engine/lib/engine/engine/module_mappings.ex | 1 - apps/engine/lib/engine/engine/modules.ex | 2 +- apps/engine/lib/engine/engine/plugin.ex | 2 +- apps/engine/lib/engine/engine/plugin/runner.ex | 4 ++-- .../engine/engine/plugin/runner/coordinator.ex | 2 +- apps/engine/lib/engine/engine/port.ex | 1 - apps/engine/lib/engine/engine/progress.ex | 2 -- apps/engine/lib/engine/engine/project_node.ex | 3 +-- .../lib/engine/engine/project_node_supervisor.ex | 5 +++-- apps/engine/lib/engine/engine/search/fuzzy.ex | 3 +-- apps/engine/lib/engine/engine/search/indexer.ex | 7 +++---- .../lib/engine/engine/search/indexer/entry.ex | 2 +- .../search/indexer/extractors/ecto_schema.ex | 4 ++-- .../engine/search/indexer/extractors/ex_unit.ex | 8 ++++---- .../indexer/extractors/function_definition.ex | 4 ++-- .../indexer/extractors/function_reference.ex | 7 +++---- .../engine/search/indexer/extractors/module.ex | 9 ++++----- .../search/indexer/extractors/module_attribute.ex | 4 ++-- .../indexer/extractors/struct_definition.ex | 2 +- .../search/indexer/extractors/struct_reference.ex | 2 +- .../engine/search/indexer/extractors/variable.ex | 2 +- .../lib/engine/engine/search/indexer/quoted.ex | 2 +- .../lib/engine/engine/search/indexer/source.ex | 2 +- .../engine/search/indexer/source/reducer.ex | 4 ++-- apps/engine/lib/engine/engine/search/store.ex | 2 +- .../lib/engine/engine/search/store/backend.ex | 3 ++- .../engine/engine/search/store/backends/ets.ex | 3 +-- .../engine/search/store/backends/ets/schema.ex | 2 +- .../engine/search/store/backends/ets/state.ex | 2 +- .../lib/engine/engine/search/store/state.ex | 2 +- apps/engine/lib/mix/tasks/namespace.ex | 2 +- apps/engine/test/engine/analyzer/aliases_test.exs | 2 +- apps/engine/test/engine/analyzer/imports_test.exs | 2 +- .../engine/test/engine/analyzer/requires_test.exs | 2 +- apps/engine/test/engine/analyzer/uses_test.exs | 2 +- apps/engine/test/engine/analyzer_test.exs | 2 +- .../engine/api/proxy/buffering_state_test.exs | 2 +- apps/engine/test/engine/api/proxy_test.exs | 2 +- .../build/document/compilers/config_test.exs | 2 +- .../engine/build/document/compilers/eex_test.exs | 4 ++-- .../build/document/compilers/elixir_test.exs | 2 +- .../engine/build/document/compilers/heex_test.exs | 4 ++-- .../engine/test/engine/build/error/parse_test.exs | 2 +- apps/engine/test/engine/build/error_test.exs | 2 +- apps/engine/test/engine/build/state_test.exs | 5 ++--- apps/engine/test/engine/build_test.exs | 8 ++++---- .../code_action/handlers/add_alias_test.exs | 2 +- .../handlers/organize_aliases_test.exs | 2 +- .../code_action/handlers/refactorex_test.exs | 2 +- .../handlers/remove_unused_alias_test.exs | 4 ++-- .../handlers/replace_remote_function_test.exs | 2 +- .../handlers/replace_with_underscore_test.exs | 2 +- .../engine/code_intelligence/definition_test.exs | 3 +-- .../test/engine/code_intelligence/entity_test.exs | 2 +- .../engine/code_intelligence/references_test.exs | 2 +- .../engine/code_intelligence/symbols_test.exs | 2 +- .../engine/code_intelligence/variable_test.exs | 2 +- apps/engine/test/engine/code_mod/aliases_test.exs | 2 +- apps/engine/test/engine/code_mod/diff_test.exs | 2 +- apps/engine/test/engine/code_mod/format_test.exs | 5 ++--- apps/engine/test/engine/commands/reindex_test.exs | 2 +- apps/engine/test/engine/completion_test.exs | 2 +- .../engine/dispatch/handlers/indexer_test.exs | 2 +- .../plugin/runner/coordinator/state_test.exs | 4 ++-- .../engine/plugin/runner/coordinator_test.exs | 2 +- apps/engine/test/engine/progress_test.exs | 1 - .../test/engine/search/indexer/metadata_test.exs | 2 +- apps/engine/test/engine/search/indexer_test.exs | 2 +- .../search/store/backends/ets/schema_test.exs | 2 +- .../engine/search/store/backends/ets_test.exs | 4 ++-- apps/engine/test/engine/search/store_test.exs | 2 +- apps/engine/test/remote_control_test.exs | 1 - .../test/support/test/entry/entry_builder.ex | 2 +- apps/engine/test/support/test/extractor_case.ex | 2 +- apps/expert/.iex.exs | 2 +- apps/expert/lib/expert/application.ex | 2 +- apps/expert/lib/expert/boot.ex | 2 +- .../lib/expert/code_intelligence/completion.ex | 15 +++++++-------- .../code_intelligence/completion/builder.ex | 8 ++++---- .../completion/translations/bitstring_option.ex | 2 +- .../completion/translations/callable.ex | 2 +- .../completion/translations/callback.ex | 4 ++-- .../completion/translations/function.ex | 2 +- .../completion/translations/macro.ex | 8 ++++---- .../completion/translations/map_field.ex | 2 +- .../completion/translations/module_attribute.ex | 6 +++--- .../translations/module_or_behaviour.ex | 2 +- .../completion/translations/struct.ex | 2 +- .../completion/translations/struct_field.ex | 4 ++-- .../completion/translations/typespec.ex | 2 +- .../completion/translations/variable.ex | 2 +- apps/expert/lib/expert/configuration.ex | 6 +++--- apps/expert/lib/expert/iex/helpers.ex | 9 ++++----- apps/expert/lib/expert/project/diagnostics.ex | 7 +++---- apps/expert/lib/expert/project/intelligence.ex | 2 +- apps/expert/lib/expert/project/node.ex | 2 +- apps/expert/lib/expert/project/progress.ex | 2 +- .../lib/expert/project/progress/percentage.ex | 2 +- apps/expert/lib/expert/project/progress/state.ex | 6 +++--- .../expert/lib/expert/project/progress/support.ex | 2 +- apps/expert/lib/expert/project/search_listener.ex | 7 +++---- apps/expert/lib/expert/project/supervisor.ex | 2 +- .../lib/expert/provider/handlers/code_action.ex | 2 +- .../lib/expert/provider/handlers/code_lens.ex | 11 +++++------ .../lib/expert/provider/handlers/commands.ex | 5 ++--- .../lib/expert/provider/handlers/completion.ex | 10 +++++----- .../expert/provider/handlers/document_symbols.ex | 8 ++++---- .../expert/provider/handlers/find_references.ex | 8 ++++---- .../lib/expert/provider/handlers/formatting.ex | 5 ++--- .../expert/provider/handlers/go_to_definition.ex | 2 +- apps/expert/lib/expert/provider/handlers/hover.ex | 13 ++++++------- .../expert/provider/handlers/workspace_symbol.ex | 6 +++--- apps/expert/lib/expert/state.ex | 4 ++-- apps/expert/test/document_test.exs | 2 +- .../code_intelligence/completion/builder_test.exs | 4 ++-- .../expert/code_intelligence/completion_test.exs | 4 ++-- .../expert/project/diagnostics/state_test.exs | 2 +- .../test/expert/project/diagnostics_test.exs | 8 +++----- .../test/expert/project/intelligence_test.exs | 3 +-- apps/expert/test/expert/project/node_test.exs | 5 +---- apps/expert/test/expert/project/progress_test.exs | 8 +++----- .../expert/provider/handlers/code_lens_test.exs | 6 ++---- .../provider/handlers/find_references_test.exs | 8 +++----- .../provider/handlers/go_to_definition_test.exs | 6 ++---- .../test/expert/provider/handlers/hover_test.exs | 12 ++++++------ apps/expert/test/expert/task_queue_test.exs | 4 ++-- apps/expert/test/support/test/completion_case.ex | 11 +++++------ apps/expert/test/support/test/dispatch_fake.ex | 1 - apps/forge/lib/forge/ast.ex | 2 +- apps/protocol/lib/expert/protocol/conversions.ex | 4 ++-- apps/protocol/test/expert/proto_test.exs | 2 +- .../test/expert/protocol/conversions_test.exs | 4 ++-- .../test/expert/protocol/response_test.exs | 2 +- 178 files changed, 294 insertions(+), 338 deletions(-) diff --git a/apps/engine/.credo.exs b/apps/engine/.credo.exs index fc32fd65..15f819c2 100644 --- a/apps/engine/.credo.exs +++ b/apps/engine/.credo.exs @@ -1,3 +1,3 @@ Code.require_file("../../mix_credo.exs") -Mix.Credo.config(excluded: ["test/fixtures/**/*.ex"]) +Mix.Credo.config(excluded: ["test/fixtures/**/*.ex", "test/fixtures/**/*.exs"]) diff --git a/apps/engine/benchmarks/ets_bench.exs b/apps/engine/benchmarks/ets_bench.exs index 0e3452fe..6c90b520 100644 --- a/apps/engine/benchmarks/ets_bench.exs +++ b/apps/engine/benchmarks/ets_bench.exs @@ -1,5 +1,5 @@ alias Forge.Project -alias Engine + alias Engine.Search.Store.Backends.Ets alias Engine.Search.Store.Backends.Ets.Schema alias Engine.Search.Store.Backends.Ets.Schemas diff --git a/apps/engine/lib/engine/engine.ex b/apps/engine/lib/engine/engine.ex index f5219892..ac8a3585 100644 --- a/apps/engine/lib/engine/engine.ex +++ b/apps/engine/lib/engine/engine.ex @@ -6,7 +6,7 @@ defmodule Engine do """ alias Forge.Project - alias Engine + alias Engine.Api.Proxy alias Engine.CodeAction alias Engine.CodeIntelligence diff --git a/apps/engine/lib/engine/engine/analyzer.ex b/apps/engine/lib/engine/engine/analyzer.ex index 785ce7a1..2f678bac 100644 --- a/apps/engine/lib/engine/engine/analyzer.ex +++ b/apps/engine/lib/engine/engine/analyzer.ex @@ -1,13 +1,13 @@ defmodule Engine.Analyzer do + alias Engine.Analyzer.Aliases + alias Engine.Analyzer.Imports + alias Engine.Analyzer.Requires + alias Engine.Analyzer.Uses alias Forge.Ast alias Forge.Ast.Analysis alias Forge.Ast.Analysis.Require alias Forge.Ast.Analysis.Use alias Forge.Document.Position - alias Engine.Analyzer.Aliases - alias Engine.Analyzer.Imports - alias Engine.Analyzer.Requires - alias Engine.Analyzer.Uses require Logger diff --git a/apps/engine/lib/engine/engine/analyzer/imports.ex b/apps/engine/lib/engine/engine/analyzer/imports.ex index f3389951..e3d1a9ce 100644 --- a/apps/engine/lib/engine/engine/analyzer/imports.ex +++ b/apps/engine/lib/engine/engine/analyzer/imports.ex @@ -1,12 +1,12 @@ defmodule Engine.Analyzer.Imports do + alias Engine.Analyzer.Aliases + alias Engine.Module.Loader alias Forge.Ast.Analysis alias Forge.Ast.Analysis.Import alias Forge.Ast.Analysis.Scope alias Forge.Document.Position alias Forge.Document.Range alias Forge.ProcessCache - alias Engine.Analyzer.Aliases - alias Engine.Module.Loader @spec at(Analysis.t(), Position.t()) :: [Scope.import_mfa()] def at(%Analysis{} = analysis, %Position{} = position) do diff --git a/apps/engine/lib/engine/engine/api.ex b/apps/engine/lib/engine/engine/api.ex index be6d5205..e3dae407 100644 --- a/apps/engine/lib/engine/engine/api.ex +++ b/apps/engine/lib/engine/engine/api.ex @@ -5,7 +5,7 @@ defmodule Engine.Api do alias Forge.Document.Position alias Forge.Document.Range alias Forge.Project - alias Engine + alias Engine.CodeIntelligence require Logger diff --git a/apps/engine/lib/engine/engine/api/proxy.ex b/apps/engine/lib/engine/engine/api/proxy.ex index 3b4804e7..9b669d24 100644 --- a/apps/engine/lib/engine/engine/api/proxy.ex +++ b/apps/engine/lib/engine/engine/api/proxy.ex @@ -32,7 +32,7 @@ defmodule Engine.Api.Proxy do alias Forge.Document alias Forge.Document.Changes - alias Engine + alias Engine.Api.Messages alias Engine.Api.Proxy.BufferingState alias Engine.Api.Proxy.DrainingState diff --git a/apps/engine/lib/engine/engine/api/proxy/buffering_state.ex b/apps/engine/lib/engine/engine/api/proxy/buffering_state.ex index 70ad9777..6cd23c40 100644 --- a/apps/engine/lib/engine/engine/api/proxy/buffering_state.ex +++ b/apps/engine/lib/engine/engine/api/proxy/buffering_state.ex @@ -1,6 +1,6 @@ defmodule Engine.Api.Proxy.BufferingState do alias Forge.Document - alias Engine + alias Engine.Api alias Engine.Build alias Engine.Commands diff --git a/apps/engine/lib/engine/engine/application.ex b/apps/engine/lib/engine/engine/application.ex index 0ae2dc47..395909f0 100644 --- a/apps/engine/lib/engine/engine/application.ex +++ b/apps/engine/lib/engine/engine/application.ex @@ -1,8 +1,6 @@ defmodule Engine.Application do @moduledoc false - alias Engine - use Application require Logger diff --git a/apps/engine/lib/engine/engine/bootstrap.ex b/apps/engine/lib/engine/engine/bootstrap.ex index 597a6b1f..bd005ca6 100644 --- a/apps/engine/lib/engine/engine/bootstrap.ex +++ b/apps/engine/lib/engine/engine/bootstrap.ex @@ -7,7 +7,7 @@ defmodule Engine.Bootstrap do point, it's safe to start the project, as we should have all the code present to compile the system. """ alias Forge.Project - alias Engine + require Logger def init(%Project{} = project, document_store_entropy, app_configs) do diff --git a/apps/engine/lib/engine/engine/build.ex b/apps/engine/lib/engine/engine/build.ex index 87398998..32ab3e70 100644 --- a/apps/engine/lib/engine/engine/build.ex +++ b/apps/engine/lib/engine/engine/build.ex @@ -1,7 +1,7 @@ defmodule Engine.Build do alias Forge.Document alias Forge.Project - alias Engine + alias Engine.Build.Document.Compilers.HEEx alias Engine.Build.State alias Forge.VM.Versions diff --git a/apps/engine/lib/engine/engine/build/document.ex b/apps/engine/lib/engine/engine/build/document.ex index ae9976d7..9a6ccdff 100644 --- a/apps/engine/lib/engine/engine/build/document.ex +++ b/apps/engine/lib/engine/engine/build/document.ex @@ -1,8 +1,8 @@ defmodule Engine.Build.Document do - alias Forge.Document alias Engine.Build alias Engine.Build.Document.Compilers alias Engine.Build.Isolation + alias Forge.Document @compilers [Compilers.Config, Compilers.Elixir, Compilers.EEx, Compilers.HEEx, Compilers.NoOp] diff --git a/apps/engine/lib/engine/engine/build/document/compilers/config.ex b/apps/engine/lib/engine/engine/build/document/compilers/config.ex index bdfb7bfd..ac72a69b 100644 --- a/apps/engine/lib/engine/engine/build/document/compilers/config.ex +++ b/apps/engine/lib/engine/engine/build/document/compilers/config.ex @@ -3,10 +3,10 @@ defmodule Engine.Build.Document.Compilers.Config do A compiler for elixir configuration """ alias Elixir.Features - alias Forge.Document - alias Forge.Plugin.V1.Diagnostic alias Engine.Build alias Engine.Build.Error.Location + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic @elixir_source "Elixir" diff --git a/apps/engine/lib/engine/engine/build/document/compilers/eex.ex b/apps/engine/lib/engine/engine/build/document/compilers/eex.ex index c3508344..1dd941d2 100644 --- a/apps/engine/lib/engine/engine/build/document/compilers/eex.ex +++ b/apps/engine/lib/engine/engine/build/document/compilers/eex.ex @@ -2,11 +2,11 @@ defmodule Engine.Build.Document.Compilers.EEx do @moduledoc """ A compiler for .eex files """ - alias Forge.Document - alias Forge.Plugin.V1.Diagnostic.Result alias Engine.Build alias Engine.Build.Document.Compiler alias Engine.Build.Document.Compilers + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic.Result @behaviour Compiler diff --git a/apps/engine/lib/engine/engine/build/document/compilers/elixir.ex b/apps/engine/lib/engine/engine/build/document/compilers/elixir.ex index 2e7cbcbd..689d98d7 100644 --- a/apps/engine/lib/engine/engine/build/document/compilers/elixir.ex +++ b/apps/engine/lib/engine/engine/build/document/compilers/elixir.ex @@ -4,9 +4,9 @@ defmodule Engine.Build.Document.Compilers.Elixir do """ alias Elixir.Features - alias Forge.Document alias Engine.Build alias Engine.Build.Document.Compilers + alias Forge.Document @behaviour Build.Document.Compiler diff --git a/apps/engine/lib/engine/engine/build/document/compilers/heex.ex b/apps/engine/lib/engine/engine/build/document/compilers/heex.ex index c50763e1..6b6ed504 100644 --- a/apps/engine/lib/engine/engine/build/document/compilers/heex.ex +++ b/apps/engine/lib/engine/engine/build/document/compilers/heex.ex @@ -2,10 +2,10 @@ defmodule Engine.Build.Document.Compilers.HEEx do @moduledoc """ A compiler for .heex files """ - alias Forge.Document - alias Forge.Plugin.V1.Diagnostic.Result alias Engine.Build.Document.Compiler alias Engine.Build.Document.Compilers + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic.Result require Logger @behaviour Compiler diff --git a/apps/engine/lib/engine/engine/build/document/compilers/quoted.ex b/apps/engine/lib/engine/engine/build/document/compilers/quoted.ex index 526c33d4..740de9af 100644 --- a/apps/engine/lib/engine/engine/build/document/compilers/quoted.ex +++ b/apps/engine/lib/engine/engine/build/document/compilers/quoted.ex @@ -1,9 +1,9 @@ defmodule Engine.Build.Document.Compilers.Quoted do alias Elixir.Features - alias Forge.Ast - alias Forge.Document alias Engine.Build alias Engine.ModuleMappings + alias Forge.Ast + alias Forge.Document import Engine.Build.CaptureIO, only: [capture_io: 2] diff --git a/apps/engine/lib/engine/engine/build/error.ex b/apps/engine/lib/engine/engine/build/error.ex index 0d4dfd62..4e606173 100644 --- a/apps/engine/lib/engine/engine/build/error.ex +++ b/apps/engine/lib/engine/engine/build/error.ex @@ -1,8 +1,8 @@ defmodule Engine.Build.Error do + alias Engine.Build.Error.Location alias Forge.Ast alias Forge.Document alias Forge.Plugin.V1.Diagnostic.Result - alias Engine.Build.Error.Location alias Mix.Task.Compiler require Logger diff --git a/apps/engine/lib/engine/engine/build/error/parse.ex b/apps/engine/lib/engine/engine/build/error/parse.ex index f86adbc3..8704b16f 100644 --- a/apps/engine/lib/engine/engine/build/error/parse.ex +++ b/apps/engine/lib/engine/engine/build/error/parse.ex @@ -1,8 +1,8 @@ defmodule Engine.Build.Error.Parse do + alias Engine.Build.Error.Location alias Forge.Document alias Forge.Document.Range alias Forge.Plugin.V1.Diagnostic.Result - alias Engine.Build.Error.Location @elixir_source "Elixir" diff --git a/apps/engine/lib/engine/engine/build/project.ex b/apps/engine/lib/engine/engine/build/project.ex index f1d40831..42df7d47 100644 --- a/apps/engine/lib/engine/engine/build/project.ex +++ b/apps/engine/lib/engine/engine/build/project.ex @@ -1,6 +1,6 @@ defmodule Engine.Build.Project do alias Forge.Project - alias Engine + alias Engine.Build alias Engine.Build.Isolation alias Engine.Plugin diff --git a/apps/engine/lib/engine/engine/build/state.ex b/apps/engine/lib/engine/engine/build/state.ex index 58e6c0c4..93a50d4f 100644 --- a/apps/engine/lib/engine/engine/build/state.ex +++ b/apps/engine/lib/engine/engine/build/state.ex @@ -1,11 +1,10 @@ defmodule Engine.Build.State do alias Elixir.Features - alias Forge.Document - alias Forge.Project - alias Engine alias Engine.Api.Messages alias Engine.Build alias Engine.Plugin + alias Forge.Document + alias Forge.Project alias Forge.VM.Versions require Logger diff --git a/apps/engine/lib/engine/engine/code_action.ex b/apps/engine/lib/engine/engine/code_action.ex index 6be8f774..85b31588 100644 --- a/apps/engine/lib/engine/engine/code_action.ex +++ b/apps/engine/lib/engine/engine/code_action.ex @@ -1,9 +1,9 @@ defmodule Engine.CodeAction do + alias Engine.CodeAction.Diagnostic + alias Engine.CodeAction.Handlers alias Forge.Document alias Forge.Document.Changes alias Forge.Document.Range - alias Engine.CodeAction.Diagnostic - alias Engine.CodeAction.Handlers defstruct [:title, :kind, :changes, :uri] diff --git a/apps/engine/lib/engine/engine/code_action/handler.ex b/apps/engine/lib/engine/engine/code_action/handler.ex index 46b457c5..bc352766 100644 --- a/apps/engine/lib/engine/engine/code_action/handler.ex +++ b/apps/engine/lib/engine/engine/code_action/handler.ex @@ -1,8 +1,8 @@ defmodule Engine.CodeAction.Handler do - alias Forge.Document - alias Forge.Document.Range alias Engine.CodeAction alias Engine.CodeAction.Diagnostic + alias Forge.Document + alias Forge.Document.Range @callback actions(Document.t(), Range.t(), [Diagnostic.t()]) :: [CodeAction.t()] @callback kinds() :: [CodeAction.code_action_kind()] diff --git a/apps/engine/lib/engine/engine/code_action/handlers/add_alias.ex b/apps/engine/lib/engine/engine/code_action/handlers/add_alias.ex index c3ed94ce..c80bc54a 100644 --- a/apps/engine/lib/engine/engine/code_action/handlers/add_alias.ex +++ b/apps/engine/lib/engine/engine/code_action/handlers/add_alias.ex @@ -7,7 +7,7 @@ defmodule Engine.CodeAction.Handlers.AddAlias do alias Forge.Document.Position alias Forge.Document.Range alias Forge.Formats - alias Engine + alias Engine.Analyzer alias Engine.CodeAction alias Engine.CodeIntelligence.Entity diff --git a/apps/engine/lib/engine/engine/code_action/handlers/organize_aliases.ex b/apps/engine/lib/engine/engine/code_action/handlers/organize_aliases.ex index fe8fd3e5..83cdde13 100644 --- a/apps/engine/lib/engine/engine/code_action/handlers/organize_aliases.ex +++ b/apps/engine/lib/engine/engine/code_action/handlers/organize_aliases.ex @@ -1,11 +1,11 @@ defmodule Engine.CodeAction.Handlers.OrganizeAliases do + alias Engine.CodeAction + alias Engine.CodeMod alias Forge.Ast.Analysis alias Forge.Ast.Analysis.Scope alias Forge.Document alias Forge.Document.Changes alias Forge.Document.Range - alias Engine.CodeAction - alias Engine.CodeMod require Logger diff --git a/apps/engine/lib/engine/engine/code_action/handlers/refactorex.ex b/apps/engine/lib/engine/engine/code_action/handlers/refactorex.ex index a2f0ca91..a1df13ec 100644 --- a/apps/engine/lib/engine/engine/code_action/handlers/refactorex.ex +++ b/apps/engine/lib/engine/engine/code_action/handlers/refactorex.ex @@ -3,7 +3,6 @@ defmodule Engine.CodeAction.Handlers.Refactorex do alias Forge.Document.Changes alias Forge.Document.Range - alias Engine alias Engine.CodeAction alias Engine.CodeMod diff --git a/apps/engine/lib/engine/engine/code_action/handlers/remove_unused_alias.ex b/apps/engine/lib/engine/engine/code_action/handlers/remove_unused_alias.ex index 117c09ea..f407f155 100644 --- a/apps/engine/lib/engine/engine/code_action/handlers/remove_unused_alias.ex +++ b/apps/engine/lib/engine/engine/code_action/handlers/remove_unused_alias.ex @@ -21,6 +21,9 @@ defmodule Engine.CodeAction.Handlers.RemoveUnusedAlias do normalizer and possibly fix sourceror, so until then, this is what we have. """ + alias Engine.Analyzer + alias Engine.CodeAction + alias Engine.CodeAction.Diagnostic alias Forge.Ast alias Forge.Ast.Analysis alias Forge.Document @@ -28,9 +31,6 @@ defmodule Engine.CodeAction.Handlers.RemoveUnusedAlias do alias Forge.Document.Edit alias Forge.Document.Position alias Forge.Document.Range - alias Engine.Analyzer - alias Engine.CodeAction - alias Engine.CodeAction.Diagnostic alias Sourceror.Zipper import Record diff --git a/apps/engine/lib/engine/engine/code_action/handlers/replace_remote_function.ex b/apps/engine/lib/engine/engine/code_action/handlers/replace_remote_function.ex index 61bc63e1..ebe50719 100644 --- a/apps/engine/lib/engine/engine/code_action/handlers/replace_remote_function.ex +++ b/apps/engine/lib/engine/engine/code_action/handlers/replace_remote_function.ex @@ -4,7 +4,7 @@ defmodule Engine.CodeAction.Handlers.ReplaceRemoteFunction do alias Forge.Document.Changes alias Forge.Document.Edit alias Forge.Document.Range - alias Engine + alias Engine.CodeAction alias Engine.CodeAction.Diagnostic alias Engine.Modules diff --git a/apps/engine/lib/engine/engine/code_action/handlers/replace_with_underscore.ex b/apps/engine/lib/engine/engine/code_action/handlers/replace_with_underscore.ex index 0631f9e4..716dcdbc 100644 --- a/apps/engine/lib/engine/engine/code_action/handlers/replace_with_underscore.ex +++ b/apps/engine/lib/engine/engine/code_action/handlers/replace_with_underscore.ex @@ -1,10 +1,10 @@ defmodule Engine.CodeAction.Handlers.ReplaceWithUnderscore do + alias Engine.CodeAction + alias Engine.CodeAction.Diagnostic alias Forge.Ast alias Forge.Document alias Forge.Document.Changes alias Forge.Document.Range - alias Engine.CodeAction - alias Engine.CodeAction.Diagnostic alias Sourceror.Zipper @behaviour CodeAction.Handler diff --git a/apps/engine/lib/engine/engine/code_intelligence/definition.ex b/apps/engine/lib/engine/engine/code_intelligence/definition.ex index e8de8ca7..e4590def 100644 --- a/apps/engine/lib/engine/engine/code_intelligence/definition.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/definition.ex @@ -1,16 +1,16 @@ defmodule Engine.CodeIntelligence.Definition do alias ElixirSense.Providers.Location, as: ElixirSenseLocation - alias Future.Code + alias Engine.CodeIntelligence.Entity + alias Engine.Search.Indexer.Entry + alias Engine.Search.Store alias Forge.Ast alias Forge.Ast.Analysis alias Forge.Document alias Forge.Document.Location alias Forge.Document.Position alias Forge.Formats - alias Engine.CodeIntelligence.Entity - alias Engine.Search.Indexer.Entry - alias Engine.Search.Store alias Forge.Text + alias Future.Code require Logger diff --git a/apps/engine/lib/engine/engine/code_intelligence/entity.ex b/apps/engine/lib/engine/engine/code_intelligence/entity.ex index 290b1c79..5ca52c8f 100644 --- a/apps/engine/lib/engine/engine/code_intelligence/entity.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/entity.ex @@ -1,12 +1,12 @@ defmodule Engine.CodeIntelligence.Entity do - alias Future.Code, as: Code alias Forge.Ast alias Forge.Ast.Analysis alias Forge.Document alias Forge.Document.Position alias Forge.Document.Range alias Forge.Formats - alias Engine + alias Future.Code, as: Code + alias Sourceror.Zipper require Logger diff --git a/apps/engine/lib/engine/engine/code_intelligence/references.ex b/apps/engine/lib/engine/engine/code_intelligence/references.ex index e3a6ca4c..05727860 100644 --- a/apps/engine/lib/engine/engine/code_intelligence/references.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/references.ex @@ -1,14 +1,14 @@ defmodule Engine.CodeIntelligence.References do - alias Forge.Ast.Analysis - alias Forge.Document - alias Forge.Document.Location - alias Forge.Document.Position alias Engine.Analyzer alias Engine.CodeIntelligence.Entity alias Engine.CodeIntelligence.Variable alias Engine.Search.Indexer.Entry alias Engine.Search.Store alias Engine.Search.Subject + alias Forge.Ast.Analysis + alias Forge.Document + alias Forge.Document.Location + alias Forge.Document.Position require Logger diff --git a/apps/engine/lib/engine/engine/code_intelligence/structs.ex b/apps/engine/lib/engine/engine/code_intelligence/structs.ex index 019869f2..bc2cd664 100644 --- a/apps/engine/lib/engine/engine/code_intelligence/structs.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/structs.ex @@ -1,5 +1,4 @@ defmodule Engine.CodeIntelligence.Structs do - alias Engine alias Engine.Module.Loader alias Engine.Search.Indexer.Entry alias Engine.Search.Store diff --git a/apps/engine/lib/engine/engine/code_intelligence/symbols.ex b/apps/engine/lib/engine/engine/code_intelligence/symbols.ex index f1597ba7..1b110e53 100644 --- a/apps/engine/lib/engine/engine/code_intelligence/symbols.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/symbols.ex @@ -1,11 +1,11 @@ defmodule Engine.CodeIntelligence.Symbols do - alias Forge.Document - alias Forge.Document.Range alias Engine.CodeIntelligence.Symbols alias Engine.Search alias Engine.Search.Indexer alias Engine.Search.Indexer.Entry alias Engine.Search.Indexer.Extractors + alias Forge.Document + alias Forge.Document.Range @block_types [ :ex_unit_describe, diff --git a/apps/engine/lib/engine/engine/code_intelligence/symbols/document.ex b/apps/engine/lib/engine/engine/code_intelligence/symbols/document.ex index 10e98bda..6aa680d8 100644 --- a/apps/engine/lib/engine/engine/code_intelligence/symbols/document.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/symbols/document.ex @@ -1,7 +1,7 @@ defmodule Engine.CodeIntelligence.Symbols.Document do + alias Engine.Search.Indexer.Entry alias Forge.Document alias Forge.Formats - alias Engine.Search.Indexer.Entry defstruct [:name, :type, :range, :detail_range, :detail, :original_type, :subject, children: []] diff --git a/apps/engine/lib/engine/engine/code_intelligence/symbols/workspace.ex b/apps/engine/lib/engine/engine/code_intelligence/symbols/workspace.ex index 0ceb2581..64dc0e94 100644 --- a/apps/engine/lib/engine/engine/code_intelligence/symbols/workspace.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/symbols/workspace.ex @@ -13,9 +13,9 @@ defmodule Engine.CodeIntelligence.Symbols.Workspace do end end + alias Engine.Search.Indexer.Entry alias Forge.Document alias Forge.Formats - alias Engine.Search.Indexer.Entry defstruct [:name, :type, :link, container_name: nil] diff --git a/apps/engine/lib/engine/engine/code_intelligence/variable.ex b/apps/engine/lib/engine/engine/code_intelligence/variable.ex index f7a5f836..4f59c7c8 100644 --- a/apps/engine/lib/engine/engine/code_intelligence/variable.ex +++ b/apps/engine/lib/engine/engine/code_intelligence/variable.ex @@ -1,9 +1,9 @@ defmodule Engine.CodeIntelligence.Variable do + alias Engine.Search.Indexer + alias Engine.Search.Indexer.Entry alias Forge.Ast.Analysis alias Forge.Document.Position alias Forge.Document.Range - alias Engine.Search.Indexer - alias Engine.Search.Indexer.Entry require Logger diff --git a/apps/engine/lib/engine/engine/code_mod/aliases.ex b/apps/engine/lib/engine/engine/code_mod/aliases.ex index 23b725f5..5153eb62 100644 --- a/apps/engine/lib/engine/engine/code_mod/aliases.ex +++ b/apps/engine/lib/engine/engine/code_mod/aliases.ex @@ -7,7 +7,7 @@ defmodule Engine.CodeMod.Aliases do alias Forge.Document.Edit alias Forge.Document.Position alias Forge.Document.Range - alias Engine + alias Sourceror.Zipper @doc """ diff --git a/apps/engine/lib/engine/engine/code_mod/format.ex b/apps/engine/lib/engine/engine/code_mod/format.ex index 4b040615..aa97515e 100644 --- a/apps/engine/lib/engine/engine/code_mod/format.ex +++ b/apps/engine/lib/engine/engine/code_mod/format.ex @@ -2,7 +2,7 @@ defmodule Engine.CodeMod.Format do alias Forge.Document alias Forge.Document.Changes alias Forge.Project - alias Engine + alias Engine.Build alias Engine.CodeMod.Diff diff --git a/apps/engine/lib/engine/engine/commands/reindex.ex b/apps/engine/lib/engine/engine/commands/reindex.ex index d767144e..3927e87f 100644 --- a/apps/engine/lib/engine/engine/commands/reindex.ex +++ b/apps/engine/lib/engine/engine/commands/reindex.ex @@ -1,10 +1,10 @@ defmodule Engine.Commands.Reindex do defmodule State do + alias Engine.Search + alias Engine.Search.Indexer alias Forge.Ast.Analysis alias Forge.Document alias Forge.ProcessCache - alias Engine.Search - alias Engine.Search.Indexer require Logger require ProcessCache @@ -72,7 +72,7 @@ defmodule Engine.Commands.Reindex do alias Forge.Document alias Forge.Project - alias Engine + alias Engine.Api alias Engine.Search diff --git a/apps/engine/lib/engine/engine/compilation/tracer.ex b/apps/engine/lib/engine/engine/compilation/tracer.ex index 65df408b..d4b3a59d 100644 --- a/apps/engine/lib/engine/engine/compilation/tracer.ex +++ b/apps/engine/lib/engine/engine/compilation/tracer.ex @@ -1,5 +1,4 @@ defmodule Engine.Compilation.Tracer do - alias Engine alias Engine.Build alias Engine.Module.Loader diff --git a/apps/engine/lib/engine/engine/completion.ex b/apps/engine/lib/engine/engine/completion.ex index 39032a91..26092c3b 100644 --- a/apps/engine/lib/engine/engine/completion.ex +++ b/apps/engine/lib/engine/engine/completion.ex @@ -3,7 +3,7 @@ defmodule Engine.Completion do alias Forge.Ast.Env alias Forge.Document alias Forge.Document.Position - alias Engine + alias Engine.CodeMod.Format alias Engine.Completion.Candidate diff --git a/apps/engine/lib/engine/engine/dispatch.ex b/apps/engine/lib/engine/engine/dispatch.ex index 3a2641d3..be264d74 100644 --- a/apps/engine/lib/engine/engine/dispatch.ex +++ b/apps/engine/lib/engine/engine/dispatch.ex @@ -6,7 +6,7 @@ defmodule Engine.Dispatch do itself via a call to `register_listener`, while a process must implement the `Engine.Dispatch.Handler` behaviour and add the module to the @handlers module attribute. """ - alias Engine + alias Engine.Dispatch.Handlers alias Engine.Dispatch.PubSub import Engine.Api.Messages diff --git a/apps/engine/lib/engine/engine/dispatch/handlers/indexing.ex b/apps/engine/lib/engine/engine/dispatch/handlers/indexing.ex index 7223ec57..a6e6b74e 100644 --- a/apps/engine/lib/engine/engine/dispatch/handlers/indexing.ex +++ b/apps/engine/lib/engine/engine/dispatch/handlers/indexing.ex @@ -1,9 +1,9 @@ defmodule Engine.Dispatch.Handlers.Indexing do - alias Forge.Document alias Engine.Api.Messages alias Engine.Commands alias Engine.Dispatch alias Engine.Search + alias Forge.Document require Logger import Messages diff --git a/apps/engine/lib/engine/engine/mix.ex b/apps/engine/lib/engine/engine/mix.ex index 8ef73e2c..b8757ed7 100644 --- a/apps/engine/lib/engine/engine/mix.ex +++ b/apps/engine/lib/engine/engine/mix.ex @@ -1,6 +1,5 @@ defmodule Engine.Mix do alias Forge.Project - alias Engine def in_project(fun) do if Engine.project_node?() do diff --git a/apps/engine/lib/engine/engine/module_mappings.ex b/apps/engine/lib/engine/engine/module_mappings.ex index 6e5970d6..c2090dee 100644 --- a/apps/engine/lib/engine/engine/module_mappings.ex +++ b/apps/engine/lib/engine/engine/module_mappings.ex @@ -39,7 +39,6 @@ defmodule Engine.ModuleMappings do end end - alias Engine alias Engine.Api.Messages use GenServer diff --git a/apps/engine/lib/engine/engine/modules.ex b/apps/engine/lib/engine/engine/modules.ex index 72f84fa5..22b940f1 100644 --- a/apps/engine/lib/engine/engine/modules.ex +++ b/apps/engine/lib/engine/engine/modules.ex @@ -3,8 +3,8 @@ defmodule Engine.Modules do Utilities for dealing with modules on the remote control node """ - alias Future.Code.Typespec alias Engine.Module.Loader + alias Future.Code.Typespec @typedoc "Module documentation record as defined by EEP-48" @type docs_v1 :: tuple() diff --git a/apps/engine/lib/engine/engine/plugin.ex b/apps/engine/lib/engine/engine/plugin.ex index 6afd7a48..2f590c99 100644 --- a/apps/engine/lib/engine/engine/plugin.ex +++ b/apps/engine/lib/engine/engine/plugin.ex @@ -1,7 +1,7 @@ defmodule Engine.Plugin do alias Forge.Document alias Forge.Project - alias Engine + alias Engine.Api.Messages alias Engine.Plugin.Runner diff --git a/apps/engine/lib/engine/engine/plugin/runner.ex b/apps/engine/lib/engine/engine/plugin/runner.ex index fc51771c..18ca5033 100644 --- a/apps/engine/lib/engine/engine/plugin/runner.ex +++ b/apps/engine/lib/engine/engine/plugin/runner.ex @@ -1,10 +1,10 @@ defmodule Engine.Plugin.Runner do @moduledoc false - alias Forge.Document - alias Forge.Project alias Engine.Module.Loader alias Engine.Plugin.Runner + alias Forge.Document + alias Forge.Project require Logger diff --git a/apps/engine/lib/engine/engine/plugin/runner/coordinator.ex b/apps/engine/lib/engine/engine/plugin/runner/coordinator.ex index cf573acb..6a2258ad 100644 --- a/apps/engine/lib/engine/engine/plugin/runner/coordinator.ex +++ b/apps/engine/lib/engine/engine/plugin/runner/coordinator.ex @@ -1,8 +1,8 @@ defmodule Engine.Plugin.Runner.Coordinator do @moduledoc false - alias Forge.Formats alias Engine.Plugin.Runner.Coordinator.State + alias Forge.Formats require Logger use GenServer diff --git a/apps/engine/lib/engine/engine/port.ex b/apps/engine/lib/engine/engine/port.ex index fe4e7565..c6815a9c 100644 --- a/apps/engine/lib/engine/engine/port.ex +++ b/apps/engine/lib/engine/engine/port.ex @@ -4,7 +4,6 @@ defmodule Engine.Port do """ alias Forge.Project - alias Engine @type open_opt :: {:env, list()} diff --git a/apps/engine/lib/engine/engine/progress.ex b/apps/engine/lib/engine/engine/progress.ex index f7e32694..b9bcc7e6 100644 --- a/apps/engine/lib/engine/engine/progress.ex +++ b/apps/engine/lib/engine/engine/progress.ex @@ -1,6 +1,4 @@ defmodule Engine.Progress do - alias Engine - import Engine.Api.Messages @type label :: String.t() diff --git a/apps/engine/lib/engine/engine/project_node.ex b/apps/engine/lib/engine/engine/project_node.ex index 5656c7ca..2d9e6c24 100644 --- a/apps/engine/lib/engine/engine/project_node.ex +++ b/apps/engine/lib/engine/engine/project_node.ex @@ -1,6 +1,5 @@ defmodule Engine.ProjectNode do alias Forge.Project - alias Engine require Logger defmodule State do @@ -104,8 +103,8 @@ defmodule Engine.ProjectNode do end end - alias Forge.Document alias Engine.ProjectNodeSupervisor + alias Forge.Document use GenServer def start(project, paths) do diff --git a/apps/engine/lib/engine/engine/project_node_supervisor.ex b/apps/engine/lib/engine/engine/project_node_supervisor.ex index 59a69af3..cd7d3d13 100644 --- a/apps/engine/lib/engine/engine/project_node_supervisor.ex +++ b/apps/engine/lib/engine/engine/project_node_supervisor.ex @@ -1,8 +1,9 @@ defmodule Engine.ProjectNodeSupervisor do - alias Forge.Project - alias Engine.ProjectNode use DynamicSupervisor + alias Engine.ProjectNode + alias Forge.Project + @dialyzer {:no_return, start_link: 1} def child_spec(%Project{} = project) do diff --git a/apps/engine/lib/engine/engine/search/fuzzy.ex b/apps/engine/lib/engine/engine/search/fuzzy.ex index f3c17f07..f6a071d2 100644 --- a/apps/engine/lib/engine/engine/search/fuzzy.ex +++ b/apps/engine/lib/engine/engine/search/fuzzy.ex @@ -11,10 +11,9 @@ defmodule Engine.Search.Fuzzy do returned. """ - alias Forge.Project - alias Engine alias Engine.Search.Fuzzy.Scorer alias Engine.Search.Indexer.Entry + alias Forge.Project import Record defstruct subject_to_values: %{}, diff --git a/apps/engine/lib/engine/engine/search/indexer.ex b/apps/engine/lib/engine/engine/search/indexer.ex index a7739857..7d5994bc 100644 --- a/apps/engine/lib/engine/engine/search/indexer.ex +++ b/apps/engine/lib/engine/engine/search/indexer.ex @@ -1,11 +1,10 @@ defmodule Engine.Search.Indexer do - alias Forge.Identifier - alias Forge.ProcessCache - alias Forge.Project - alias Engine alias Engine.Progress alias Engine.Search.Indexer alias Engine.Search.Indexer.Entry + alias Forge.Identifier + alias Forge.ProcessCache + alias Forge.Project require ProcessCache diff --git a/apps/engine/lib/engine/engine/search/indexer/entry.ex b/apps/engine/lib/engine/engine/search/indexer/entry.ex index cc87ec88..928c894c 100644 --- a/apps/engine/lib/engine/engine/search/indexer/entry.ex +++ b/apps/engine/lib/engine/engine/search/indexer/entry.ex @@ -50,8 +50,8 @@ defmodule Engine.Search.Indexer.Entry do @type datetime_format :: :erl | :unix | :datetime @type date_type :: :calendar.datetime() | integer() | DateTime.t() - alias Forge.Identifier alias Engine.Search.Indexer.Source.Block + alias Forge.Identifier alias Forge.StructAccess use StructAccess diff --git a/apps/engine/lib/engine/engine/search/indexer/extractors/ecto_schema.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/ecto_schema.ex index 5869c605..40102425 100644 --- a/apps/engine/lib/engine/engine/search/indexer/extractors/ecto_schema.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/ecto_schema.ex @@ -1,10 +1,10 @@ defmodule Engine.Search.Indexer.Extractors.EctoSchema do - alias Forge.Ast - alias Forge.Document.Position alias Engine.Analyzer alias Engine.Search.Indexer.Entry alias Engine.Search.Indexer.Metadata alias Engine.Search.Indexer.Source.Reducer + alias Forge.Ast + alias Forge.Document.Position def extract( {:schema, meta, [{:__block__, _, [_source]} | _]} = schema_block, diff --git a/apps/engine/lib/engine/engine/search/indexer/extractors/ex_unit.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/ex_unit.ex index 441a8b6f..4e1d4e29 100644 --- a/apps/engine/lib/engine/engine/search/indexer/extractors/ex_unit.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/ex_unit.ex @@ -1,13 +1,13 @@ defmodule Engine.Search.Indexer.Extractors.ExUnit do + alias Engine.Analyzer + alias Engine.Search.Indexer.Entry + alias Engine.Search.Indexer.Metadata + alias Engine.Search.Indexer.Source.Reducer alias Forge.Ast alias Forge.Ast.Analysis alias Forge.Document.Position alias Forge.Document.Range alias Forge.Formats - alias Engine.Analyzer - alias Engine.Search.Indexer.Entry - alias Engine.Search.Indexer.Metadata - alias Engine.Search.Indexer.Source.Reducer require Logger diff --git a/apps/engine/lib/engine/engine/search/indexer/extractors/function_definition.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/function_definition.ex index fa7578b6..cafb61cc 100644 --- a/apps/engine/lib/engine/engine/search/indexer/extractors/function_definition.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/function_definition.ex @@ -1,10 +1,10 @@ defmodule Engine.Search.Indexer.Extractors.FunctionDefinition do - alias Forge.Ast - alias Forge.Ast.Analysis alias Engine.Analyzer alias Engine.Search.Indexer.Entry alias Engine.Search.Indexer.Source.Reducer alias Engine.Search.Subject + alias Forge.Ast + alias Forge.Ast.Analysis @function_definitions [:def, :defp] diff --git a/apps/engine/lib/engine/engine/search/indexer/extractors/function_reference.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/function_reference.ex index 83d4920b..801b3362 100644 --- a/apps/engine/lib/engine/engine/search/indexer/extractors/function_reference.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/function_reference.ex @@ -1,13 +1,12 @@ defmodule Engine.Search.Indexer.Extractors.FunctionReference do - alias Forge.Ast - alias Forge.Document.Position - alias Forge.Document.Range - alias Engine alias Engine.Search.Indexer.Entry alias Engine.Search.Indexer.Extractors.FunctionDefinition alias Engine.Search.Indexer.Metadata alias Engine.Search.Indexer.Source.Reducer alias Engine.Search.Subject + alias Forge.Ast + alias Forge.Document.Position + alias Forge.Document.Range require Logger diff --git a/apps/engine/lib/engine/engine/search/indexer/extractors/module.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/module.ex index e5560afd..4883a059 100644 --- a/apps/engine/lib/engine/engine/search/indexer/extractors/module.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/module.ex @@ -3,16 +3,15 @@ defmodule Engine.Search.Indexer.Extractors.Module do Extracts module references and definitions from AST """ - alias Forge.Ast - alias Forge.Document.Position - alias Forge.Document.Range - alias Forge.ProcessCache - alias Engine alias Engine.Search.Indexer.Entry alias Engine.Search.Indexer.Metadata alias Engine.Search.Indexer.Source.Block alias Engine.Search.Indexer.Source.Reducer alias Engine.Search.Subject + alias Forge.Ast + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.ProcessCache require Logger diff --git a/apps/engine/lib/engine/engine/search/indexer/extractors/module_attribute.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/module_attribute.ex index 5cb4735f..af6ab2f9 100644 --- a/apps/engine/lib/engine/engine/search/indexer/extractors/module_attribute.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/module_attribute.ex @@ -3,12 +3,12 @@ defmodule Engine.Search.Indexer.Extractors.ModuleAttribute do Extracts module attribute definitions and references from AST """ - alias Forge.Document.Position - alias Forge.Document.Range alias Engine.Analyzer alias Engine.Search.Indexer.Entry alias Engine.Search.Indexer.Source.Reducer alias Engine.Search.Subject + alias Forge.Document.Position + alias Forge.Document.Range require Logger diff --git a/apps/engine/lib/engine/engine/search/indexer/extractors/struct_definition.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/struct_definition.ex index cfc28882..c9b2fec0 100644 --- a/apps/engine/lib/engine/engine/search/indexer/extractors/struct_definition.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/struct_definition.ex @@ -1,8 +1,8 @@ defmodule Engine.Search.Indexer.Extractors.StructDefinition do - alias Forge.Ast alias Engine.Analyzer alias Engine.Search.Indexer.Entry alias Engine.Search.Indexer.Source.Reducer + alias Forge.Ast def extract({:defstruct, _, [_fields]} = definition, %Reducer{} = reducer) do document = reducer.analysis.document diff --git a/apps/engine/lib/engine/engine/search/indexer/extractors/struct_reference.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/struct_reference.ex index 00161f4d..5621cd6c 100644 --- a/apps/engine/lib/engine/engine/search/indexer/extractors/struct_reference.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/struct_reference.ex @@ -1,9 +1,9 @@ defmodule Engine.Search.Indexer.Extractors.StructReference do - alias Forge.Ast alias Engine.Analyzer alias Engine.Search.Indexer.Entry alias Engine.Search.Indexer.Source.Reducer alias Engine.Search.Subject + alias Forge.Ast require Logger diff --git a/apps/engine/lib/engine/engine/search/indexer/extractors/variable.ex b/apps/engine/lib/engine/engine/search/indexer/extractors/variable.ex index 70ca59d1..41c32fe4 100644 --- a/apps/engine/lib/engine/engine/search/indexer/extractors/variable.ex +++ b/apps/engine/lib/engine/engine/search/indexer/extractors/variable.ex @@ -1,8 +1,8 @@ defmodule Engine.Search.Indexer.Extractors.Variable do - alias Forge.Ast alias Engine.Analyzer alias Engine.Search.Indexer.Entry alias Engine.Search.Indexer.Source.Reducer + alias Forge.Ast @defs [:def, :defmacro, :defp, :defmacrop] diff --git a/apps/engine/lib/engine/engine/search/indexer/quoted.ex b/apps/engine/lib/engine/engine/search/indexer/quoted.ex index e3752061..b4679dbf 100644 --- a/apps/engine/lib/engine/engine/search/indexer/quoted.ex +++ b/apps/engine/lib/engine/engine/search/indexer/quoted.ex @@ -1,7 +1,7 @@ defmodule Engine.Search.Indexer.Quoted do + alias Engine.Search.Indexer.Source.Reducer alias Forge.Ast.Analysis alias Forge.ProcessCache - alias Engine.Search.Indexer.Source.Reducer require ProcessCache diff --git a/apps/engine/lib/engine/engine/search/indexer/source.ex b/apps/engine/lib/engine/engine/search/indexer/source.ex index f04ac71c..6abaf645 100644 --- a/apps/engine/lib/engine/engine/search/indexer/source.ex +++ b/apps/engine/lib/engine/engine/search/indexer/source.ex @@ -1,7 +1,7 @@ defmodule Engine.Search.Indexer.Source do + alias Engine.Search.Indexer alias Forge.Ast alias Forge.Document - alias Engine.Search.Indexer require Logger diff --git a/apps/engine/lib/engine/engine/search/indexer/source/reducer.ex b/apps/engine/lib/engine/engine/search/indexer/source/reducer.ex index 3b334512..6c4580a8 100644 --- a/apps/engine/lib/engine/engine/search/indexer/source/reducer.ex +++ b/apps/engine/lib/engine/engine/search/indexer/source/reducer.ex @@ -6,12 +6,12 @@ defmodule Engine.Search.Indexer.Source.Reducer do with the AST's overall structure, and can focus on extracting content from it. """ - alias Forge.Ast.Analysis - alias Forge.Document.Position alias Engine.Search.Indexer.Entry alias Engine.Search.Indexer.Extractors alias Engine.Search.Indexer.Metadata alias Engine.Search.Indexer.Source.Block + alias Forge.Ast.Analysis + alias Forge.Document.Position defstruct [:analysis, :entries, :position, :blocks, :block_hierarchy, extractors: []] diff --git a/apps/engine/lib/engine/engine/search/store.ex b/apps/engine/lib/engine/engine/search/store.ex index c7ac8bb6..190ce2a2 100644 --- a/apps/engine/lib/engine/engine/search/store.ex +++ b/apps/engine/lib/engine/engine/search/store.ex @@ -4,7 +4,7 @@ defmodule Engine.Search.Store do """ alias Forge.Project - alias Engine + alias Engine.Api alias Engine.Search.Indexer.Entry alias Engine.Search.Store diff --git a/apps/engine/lib/engine/engine/search/store/backend.ex b/apps/engine/lib/engine/engine/search/store/backend.ex index 7a11857d..02ca0652 100644 --- a/apps/engine/lib/engine/engine/search/store/backend.ex +++ b/apps/engine/lib/engine/engine/search/store/backend.ex @@ -2,8 +2,9 @@ defmodule Engine.Search.Store.Backend do @moduledoc """ A behaviour for search store backends """ - alias Forge.Project alias Engine.Search.Indexer.Entry + alias Forge.Project + @type version :: pos_integer() @type priv_state :: term() diff --git a/apps/engine/lib/engine/engine/search/store/backends/ets.ex b/apps/engine/lib/engine/engine/search/store/backends/ets.ex index d17290d1..bafd854f 100644 --- a/apps/engine/lib/engine/engine/search/store/backends/ets.ex +++ b/apps/engine/lib/engine/engine/search/store/backends/ets.ex @@ -1,9 +1,8 @@ defmodule Engine.Search.Store.Backends.Ets do - alias Forge.Project - alias Engine alias Engine.Search.Indexer.Entry alias Engine.Search.Store.Backend alias Engine.Search.Store.Backends.Ets.State + alias Forge.Project use GenServer diff --git a/apps/engine/lib/engine/engine/search/store/backends/ets/schema.ex b/apps/engine/lib/engine/engine/search/store/backends/ets/schema.ex index 532320e7..d7517a5b 100644 --- a/apps/engine/lib/engine/engine/search/store/backends/ets/schema.ex +++ b/apps/engine/lib/engine/engine/search/store/backends/ets/schema.ex @@ -43,9 +43,9 @@ defmodule Engine.Search.Store.Backends.Ets.Schema do end end - alias Forge.Project alias Engine.Search.Indexer.Entry alias Engine.Search.Store.Backends.Ets.Wal + alias Forge.Project import Wal, only: :macros diff --git a/apps/engine/lib/engine/engine/search/store/backends/ets/state.ex b/apps/engine/lib/engine/engine/search/store/backends/ets/state.ex index 6ac589e3..59ebb1ae 100644 --- a/apps/engine/lib/engine/engine/search/store/backends/ets/state.ex +++ b/apps/engine/lib/engine/engine/search/store/backends/ets/state.ex @@ -5,11 +5,11 @@ defmodule Engine.Search.Store.Backends.Ets.State do This backend uses an ETS table to store its data using a schema defined in the schemas submodule. """ - alias Forge.Project alias Engine.Search.Indexer.Entry alias Engine.Search.Store.Backends.Ets.Schema alias Engine.Search.Store.Backends.Ets.Schemas alias Engine.Search.Store.Backends.Ets.Wal + alias Forge.Project @schema_order [ Schemas.LegacyV0, diff --git a/apps/engine/lib/engine/engine/search/store/state.ex b/apps/engine/lib/engine/engine/search/store/state.ex index df811386..5179d328 100644 --- a/apps/engine/lib/engine/engine/search/store/state.ex +++ b/apps/engine/lib/engine/engine/search/store/state.ex @@ -1,9 +1,9 @@ defmodule Engine.Search.Store.State do - alias Forge.Project alias Engine.Api.Messages alias Engine.Dispatch alias Engine.Search.Fuzzy alias Engine.Search.Indexer.Entry + alias Forge.Project require Logger import Messages diff --git a/apps/engine/lib/mix/tasks/namespace.ex b/apps/engine/lib/mix/tasks/namespace.ex index 9a996ffd..c409fdc7 100644 --- a/apps/engine/lib/mix/tasks/namespace.ex +++ b/apps/engine/lib/mix/tasks/namespace.ex @@ -24,7 +24,7 @@ defmodule Mix.Tasks.Namespace do "protocol" => "Expert", "engine" => "Engine", "expert" => "Expert", - "forge" => "Forge", + "forge" => "Forge" } @deps_apps Engine.MixProject.project() diff --git a/apps/engine/test/engine/analyzer/aliases_test.exs b/apps/engine/test/engine/analyzer/aliases_test.exs index 31da1824..d2c678b0 100644 --- a/apps/engine/test/engine/analyzer/aliases_test.exs +++ b/apps/engine/test/engine/analyzer/aliases_test.exs @@ -1,7 +1,7 @@ defmodule Engine.Analyzer.AliasesTest do + alias Engine.Analyzer alias Forge.Ast alias Forge.Document - alias Engine.Analyzer import Forge.Test.CursorSupport import Forge.Test.CodeSigil diff --git a/apps/engine/test/engine/analyzer/imports_test.exs b/apps/engine/test/engine/analyzer/imports_test.exs index cde04b39..e61548ed 100644 --- a/apps/engine/test/engine/analyzer/imports_test.exs +++ b/apps/engine/test/engine/analyzer/imports_test.exs @@ -38,8 +38,8 @@ defmodule WithSigils do end defmodule Engine.Ast.Analysis.ImportsTest do - alias Forge.Ast alias Engine.Analyzer + alias Forge.Ast alias Parent.Child.ImportedModule import Forge.Test.CursorSupport import Forge.Test.CodeSigil diff --git a/apps/engine/test/engine/analyzer/requires_test.exs b/apps/engine/test/engine/analyzer/requires_test.exs index 576a7346..df31bfc2 100644 --- a/apps/engine/test/engine/analyzer/requires_test.exs +++ b/apps/engine/test/engine/analyzer/requires_test.exs @@ -1,6 +1,6 @@ defmodule Engine.Analyzer.RequiresTest do - alias Forge.Ast alias Engine.Analyzer + alias Forge.Ast import Forge.Test.CursorSupport import Forge.Test.CodeSigil diff --git a/apps/engine/test/engine/analyzer/uses_test.exs b/apps/engine/test/engine/analyzer/uses_test.exs index 5a28cd9a..7f5f4e8c 100644 --- a/apps/engine/test/engine/analyzer/uses_test.exs +++ b/apps/engine/test/engine/analyzer/uses_test.exs @@ -1,6 +1,6 @@ defmodule Engine.Analyzer.UsesTest do - alias Forge.Ast alias Engine.Analyzer + alias Forge.Ast import Forge.Test.CursorSupport import Forge.Test.CodeSigil diff --git a/apps/engine/test/engine/analyzer_test.exs b/apps/engine/test/engine/analyzer_test.exs index 664d1ff5..aea7decf 100644 --- a/apps/engine/test/engine/analyzer_test.exs +++ b/apps/engine/test/engine/analyzer_test.exs @@ -1,7 +1,7 @@ defmodule Engine.AnalyzerTest do + alias Engine.Analyzer alias Forge.Ast alias Forge.Ast.Analysis - alias Engine.Analyzer import Forge.Test.CodeSigil import Forge.Test.CursorSupport diff --git a/apps/engine/test/engine/api/proxy/buffering_state_test.exs b/apps/engine/test/engine/api/proxy/buffering_state_test.exs index f9d4b10f..49adc6cf 100644 --- a/apps/engine/test/engine/api/proxy/buffering_state_test.exs +++ b/apps/engine/test/engine/api/proxy/buffering_state_test.exs @@ -1,6 +1,6 @@ defmodule Engine.Api.Proxy.BufferingStateStateTest do alias Forge.Document - alias Engine + alias Engine.Api.Messages alias Engine.Api.Proxy alias Engine.Api.Proxy.BufferingState diff --git a/apps/engine/test/engine/api/proxy_test.exs b/apps/engine/test/engine/api/proxy_test.exs index d50dd0ec..69661b9c 100644 --- a/apps/engine/test/engine/api/proxy_test.exs +++ b/apps/engine/test/engine/api/proxy_test.exs @@ -1,7 +1,7 @@ defmodule Engine.Api.ProxyTest do alias Forge.Document alias Forge.Document.Changes - alias Engine + alias Engine.Api alias Engine.Api.Proxy alias Engine.Api.Proxy.BufferingState diff --git a/apps/engine/test/engine/build/document/compilers/config_test.exs b/apps/engine/test/engine/build/document/compilers/config_test.exs index 4e320efa..50e6f6c1 100644 --- a/apps/engine/test/engine/build/document/compilers/config_test.exs +++ b/apps/engine/test/engine/build/document/compilers/config_test.exs @@ -1,6 +1,6 @@ defmodule Engine.Build.Document.Compilers.ConfigTest do - alias Forge.Document alias Engine.Build.Document.Compilers + alias Forge.Document use ExUnit.Case import Forge.Test.CodeSigil diff --git a/apps/engine/test/engine/build/document/compilers/eex_test.exs b/apps/engine/test/engine/build/document/compilers/eex_test.exs index 07d733ec..cc8b6dfa 100644 --- a/apps/engine/test/engine/build/document/compilers/eex_test.exs +++ b/apps/engine/test/engine/build/document/compilers/eex_test.exs @@ -1,11 +1,11 @@ defmodule Engine.Build.Document.Compilers.EExTest do - alias Forge.Document - alias Forge.Plugin.V1.Diagnostic.Result alias Engine.Build alias Engine.Build.CaptureServer alias Engine.Build.Document.Compilers alias Engine.Dispatch alias Engine.ModuleMappings + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic.Result use ExUnit.Case diff --git a/apps/engine/test/engine/build/document/compilers/elixir_test.exs b/apps/engine/test/engine/build/document/compilers/elixir_test.exs index 7ffc1946..2192ad5c 100644 --- a/apps/engine/test/engine/build/document/compilers/elixir_test.exs +++ b/apps/engine/test/engine/build/document/compilers/elixir_test.exs @@ -1,6 +1,6 @@ defmodule Engine.Build.Document.Compilers.ElixirTest do - alias Forge.Document alias Engine.Build.Document.Compilers + alias Forge.Document use ExUnit.Case import Compilers.Elixir diff --git a/apps/engine/test/engine/build/document/compilers/heex_test.exs b/apps/engine/test/engine/build/document/compilers/heex_test.exs index a97d5eda..d5f3907b 100644 --- a/apps/engine/test/engine/build/document/compilers/heex_test.exs +++ b/apps/engine/test/engine/build/document/compilers/heex_test.exs @@ -1,11 +1,11 @@ defmodule Engine.Build.Document.Compilers.HeexTest do - alias Forge.Document - alias Forge.Plugin.V1.Diagnostic.Result alias Engine.Build alias Engine.Build.CaptureServer alias Engine.Build.Document.Compilers alias Engine.Dispatch alias Engine.ModuleMappings + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic.Result import Forge.Test.CodeSigil import Forge.Test.Quiet diff --git a/apps/engine/test/engine/build/error/parse_test.exs b/apps/engine/test/engine/build/error/parse_test.exs index f5db3b0e..4a2b8f09 100644 --- a/apps/engine/test/engine/build/error/parse_test.exs +++ b/apps/engine/test/engine/build/error/parse_test.exs @@ -1,7 +1,7 @@ defmodule Engine.Build.Error.ParseTest do + alias Engine.Build alias Forge.Document alias Forge.Plugin.V1.Diagnostic - alias Engine.Build alias Engine.Build.CaptureServer alias Engine.Dispatch diff --git a/apps/engine/test/engine/build/error_test.exs b/apps/engine/test/engine/build/error_test.exs index 1abadc87..78fd77a2 100644 --- a/apps/engine/test/engine/build/error_test.exs +++ b/apps/engine/test/engine/build/error_test.exs @@ -1,8 +1,8 @@ defmodule Engine.Build.ErrorTest do - alias Forge.Document alias Engine.Build alias Engine.Build.CaptureServer alias Engine.ModuleMappings + alias Forge.Document require Logger import Forge.Test.DiagnosticSupport diff --git a/apps/engine/test/engine/build/state_test.exs b/apps/engine/test/engine/build/state_test.exs index 93335c32..8041e8bb 100644 --- a/apps/engine/test/engine/build/state_test.exs +++ b/apps/engine/test/engine/build/state_test.exs @@ -1,10 +1,9 @@ defmodule Engine.Build.StateTest do - alias Forge.Document - alias Forge.Project - alias Engine alias Engine.Build alias Engine.Build.State alias Engine.Plugin + alias Forge.Document + alias Forge.Project import Engine.Test.Fixtures diff --git a/apps/engine/test/engine/build_test.exs b/apps/engine/test/engine/build_test.exs index 85ebe537..ffda124a 100644 --- a/apps/engine/test/engine/build_test.exs +++ b/apps/engine/test/engine/build_test.exs @@ -1,12 +1,12 @@ defmodule Engine.BuildTest do alias Elixir.Features - alias Forge.Document - alias Forge.Plugin.V1.Diagnostic - alias Forge.Project - alias Engine + alias Engine.Api.Messages alias Engine.Build alias Engine.ProjectNodeSupervisor + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic + alias Forge.Project import Messages import Engine.Test.Fixtures diff --git a/apps/engine/test/engine/code_action/handlers/add_alias_test.exs b/apps/engine/test/engine/code_action/handlers/add_alias_test.exs index d3761641..ed104f14 100644 --- a/apps/engine/test/engine/code_action/handlers/add_alias_test.exs +++ b/apps/engine/test/engine/code_action/handlers/add_alias_test.exs @@ -4,7 +4,7 @@ defmodule Engine.CodeAction.Handlers.AddAliasTest do alias Forge.Document alias Forge.Document.Line alias Forge.Document.Range - alias Engine + alias Engine.CodeAction.Handlers.AddAlias alias Engine.Search.Store diff --git a/apps/engine/test/engine/code_action/handlers/organize_aliases_test.exs b/apps/engine/test/engine/code_action/handlers/organize_aliases_test.exs index f2aba0a4..499eff0d 100644 --- a/apps/engine/test/engine/code_action/handlers/organize_aliases_test.exs +++ b/apps/engine/test/engine/code_action/handlers/organize_aliases_test.exs @@ -1,7 +1,7 @@ defmodule Engine.CodeAction.Handlers.OrganizeAliasesTest do alias Forge.Document alias Forge.Document.Range - alias Engine + alias Engine.CodeAction.Handlers.OrganizeAliases import Forge.Test.CursorSupport diff --git a/apps/engine/test/engine/code_action/handlers/refactorex_test.exs b/apps/engine/test/engine/code_action/handlers/refactorex_test.exs index 14c04941..a52388f9 100644 --- a/apps/engine/test/engine/code_action/handlers/refactorex_test.exs +++ b/apps/engine/test/engine/code_action/handlers/refactorex_test.exs @@ -1,8 +1,8 @@ defmodule Engine.CodeAction.Handlers.RefactorexTest do use Engine.Test.CodeMod.Case - alias Forge.Document alias Engine.CodeAction.Handlers.Refactorex + alias Forge.Document import Forge.Test.RangeSupport import Forge.Test.CodeSigil diff --git a/apps/engine/test/engine/code_action/handlers/remove_unused_alias_test.exs b/apps/engine/test/engine/code_action/handlers/remove_unused_alias_test.exs index bebe7fbd..1ce0adbc 100644 --- a/apps/engine/test/engine/code_action/handlers/remove_unused_alias_test.exs +++ b/apps/engine/test/engine/code_action/handlers/remove_unused_alias_test.exs @@ -1,9 +1,9 @@ defmodule Engine.CodeAction.Handlers.RemoveUnusedAliasTest do + alias Engine.CodeAction.Diagnostic + alias Engine.CodeAction.Handlers.RemoveUnusedAlias alias Forge.Ast alias Forge.Document alias Forge.Document.Range - alias Engine.CodeAction.Diagnostic - alias Engine.CodeAction.Handlers.RemoveUnusedAlias import Forge.Test.CursorSupport import Forge.Test.CodeSigil diff --git a/apps/engine/test/engine/code_action/handlers/replace_remote_function_test.exs b/apps/engine/test/engine/code_action/handlers/replace_remote_function_test.exs index a03d12a0..baed29e9 100644 --- a/apps/engine/test/engine/code_action/handlers/replace_remote_function_test.exs +++ b/apps/engine/test/engine/code_action/handlers/replace_remote_function_test.exs @@ -1,7 +1,7 @@ defmodule Engine.CodeAction.Handlers.ReplaceRemoteFunctionTest do - alias Forge.Document alias Engine.CodeAction.Diagnostic alias Engine.CodeAction.Handlers.ReplaceRemoteFunction + alias Forge.Document use Engine.Test.CodeMod.Case diff --git a/apps/engine/test/engine/code_action/handlers/replace_with_underscore_test.exs b/apps/engine/test/engine/code_action/handlers/replace_with_underscore_test.exs index eed1e66f..e37e37b5 100644 --- a/apps/engine/test/engine/code_action/handlers/replace_with_underscore_test.exs +++ b/apps/engine/test/engine/code_action/handlers/replace_with_underscore_test.exs @@ -1,7 +1,7 @@ defmodule Engine.CodeAction.Handlers.ReplaceWithUnderscoreTest do - alias Forge.Document alias Engine.CodeAction.Diagnostic alias Engine.CodeAction.Handlers.ReplaceWithUnderscore + alias Forge.Document use Engine.Test.CodeMod.Case diff --git a/apps/engine/test/engine/code_intelligence/definition_test.exs b/apps/engine/test/engine/code_intelligence/definition_test.exs index 77b5c214..e4ba6399 100644 --- a/apps/engine/test/engine/code_intelligence/definition_test.exs +++ b/apps/engine/test/engine/code_intelligence/definition_test.exs @@ -1,8 +1,7 @@ defmodule Engine.CodeIntelligence.DefinitionTest do - alias Forge.Document - alias Engine alias Engine.ProjectNodeSupervisor alias Engine.Search + alias Forge.Document import Engine.Api.Messages import Forge.Test.CodeSigil diff --git a/apps/engine/test/engine/code_intelligence/entity_test.exs b/apps/engine/test/engine/code_intelligence/entity_test.exs index 9e1d954a..1c80b538 100644 --- a/apps/engine/test/engine/code_intelligence/entity_test.exs +++ b/apps/engine/test/engine/code_intelligence/entity_test.exs @@ -1,6 +1,6 @@ defmodule Engine.CodeIntelligence.EntityTest do - alias Forge.Document alias Engine.CodeIntelligence.Entity + alias Forge.Document import ExUnit.CaptureIO import Forge.Test.CodeSigil diff --git a/apps/engine/test/engine/code_intelligence/references_test.exs b/apps/engine/test/engine/code_intelligence/references_test.exs index e2a00ad2..4ae8ab04 100644 --- a/apps/engine/test/engine/code_intelligence/references_test.exs +++ b/apps/engine/test/engine/code_intelligence/references_test.exs @@ -1,7 +1,7 @@ defmodule Engine.CodeIntelligence.ReferencesTest do alias Forge.Document alias Forge.Document.Location - alias Engine + alias Engine.CodeIntelligence.References alias Engine.Search alias Engine.Search.Store.Backends diff --git a/apps/engine/test/engine/code_intelligence/symbols_test.exs b/apps/engine/test/engine/code_intelligence/symbols_test.exs index 46ed5262..afd1a656 100644 --- a/apps/engine/test/engine/code_intelligence/symbols_test.exs +++ b/apps/engine/test/engine/code_intelligence/symbols_test.exs @@ -1,8 +1,8 @@ defmodule Engine.CodeIntelligence.SymbolsTest do - alias Forge.Document alias Engine.CodeIntelligence.Symbols alias Engine.Search.Indexer.Extractors alias Engine.Search.Indexer.Source + alias Forge.Document use ExUnit.Case use Patch diff --git a/apps/engine/test/engine/code_intelligence/variable_test.exs b/apps/engine/test/engine/code_intelligence/variable_test.exs index d2ceba16..0a12d36f 100644 --- a/apps/engine/test/engine/code_intelligence/variable_test.exs +++ b/apps/engine/test/engine/code_intelligence/variable_test.exs @@ -1,6 +1,6 @@ defmodule Engine.CodeIntelligence.VariableTest do - alias Forge.Ast alias Engine.CodeIntelligence.Variable + alias Forge.Ast use ExUnit.Case diff --git a/apps/engine/test/engine/code_mod/aliases_test.exs b/apps/engine/test/engine/code_mod/aliases_test.exs index 506f85d3..1d9a8db2 100644 --- a/apps/engine/test/engine/code_mod/aliases_test.exs +++ b/apps/engine/test/engine/code_mod/aliases_test.exs @@ -1,6 +1,6 @@ defmodule Engine.CodeMod.AliasesTest do alias Forge.Ast - alias Engine + alias Engine.CodeMod.Aliases import Forge.Test.CursorSupport diff --git a/apps/engine/test/engine/code_mod/diff_test.exs b/apps/engine/test/engine/code_mod/diff_test.exs index 5ca7cc1c..5f3094e8 100644 --- a/apps/engine/test/engine/code_mod/diff_test.exs +++ b/apps/engine/test/engine/code_mod/diff_test.exs @@ -1,8 +1,8 @@ defmodule Engine.CodeMod.DiffTest do + alias Engine.CodeMod.Diff alias Forge.Document alias Forge.Document.Edit alias Forge.Document.Range - alias Engine.CodeMod.Diff use Engine.Test.CodeMod.Case use Forge.Test.PositionSupport diff --git a/apps/engine/test/engine/code_mod/format_test.exs b/apps/engine/test/engine/code_mod/format_test.exs index 58440b07..6d60cc81 100644 --- a/apps/engine/test/engine/code_mod/format_test.exs +++ b/apps/engine/test/engine/code_mod/format_test.exs @@ -1,11 +1,10 @@ # credo:disable-for-this-file Credo.Check.Readability.RedundantBlankLines defmodule Engine.CodeMod.FormatTest do - alias Forge.Document - alias Forge.Project - alias Engine alias Engine.Api.Messages alias Engine.Build alias Engine.CodeMod.Format + alias Forge.Document + alias Forge.Project use Engine.Test.CodeMod.Case, enable_ast_conversion: false use Patch diff --git a/apps/engine/test/engine/commands/reindex_test.exs b/apps/engine/test/engine/commands/reindex_test.exs index 44bea177..eeddff64 100644 --- a/apps/engine/test/engine/commands/reindex_test.exs +++ b/apps/engine/test/engine/commands/reindex_test.exs @@ -1,7 +1,7 @@ defmodule Engine.Commands.ReindexTest do - alias Forge.Document alias Engine.Commands.Reindex alias Engine.Search + alias Forge.Document import Forge.Test.EventualAssertions import Engine.Test.Fixtures diff --git a/apps/engine/test/engine/completion_test.exs b/apps/engine/test/engine/completion_test.exs index 32ef085f..2c5b232a 100644 --- a/apps/engine/test/engine/completion_test.exs +++ b/apps/engine/test/engine/completion_test.exs @@ -1,8 +1,8 @@ defmodule Engine.CompletionTest do + alias Engine.Completion alias Forge.Ast alias Forge.Ast.Env alias Forge.Document - alias Engine.Completion import Forge.Test.CodeSigil import Forge.Test.CursorSupport diff --git a/apps/engine/test/engine/dispatch/handlers/indexer_test.exs b/apps/engine/test/engine/dispatch/handlers/indexer_test.exs index da45e1e0..be21eb82 100644 --- a/apps/engine/test/engine/dispatch/handlers/indexer_test.exs +++ b/apps/engine/test/engine/dispatch/handlers/indexer_test.exs @@ -1,6 +1,6 @@ defmodule Engine.Dispatch.Handlers.IndexingTest do alias Forge.Document - alias Engine + alias Engine.Api alias Engine.Commands alias Engine.Dispatch.Handlers.Indexing diff --git a/apps/engine/test/engine/plugin/runner/coordinator/state_test.exs b/apps/engine/test/engine/plugin/runner/coordinator/state_test.exs index 41dd8ecc..f934fb46 100644 --- a/apps/engine/test/engine/plugin/runner/coordinator/state_test.exs +++ b/apps/engine/test/engine/plugin/runner/coordinator/state_test.exs @@ -1,8 +1,8 @@ defmodule Engine.Plugin.Coordinator.StateTest do - alias Forge.Document - alias Forge.Plugin.V1 alias Engine.Plugin.Runner alias Engine.Plugin.Runner.Coordinator.State + alias Forge.Document + alias Forge.Plugin.V1 use ExUnit.Case diff --git a/apps/engine/test/engine/plugin/runner/coordinator_test.exs b/apps/engine/test/engine/plugin/runner/coordinator_test.exs index d68d9be9..c7adb3fc 100644 --- a/apps/engine/test/engine/plugin/runner/coordinator_test.exs +++ b/apps/engine/test/engine/plugin/runner/coordinator_test.exs @@ -1,7 +1,7 @@ defmodule Engine.Plugin.Runner.CoordinatorTest do + alias Engine.Plugin.Runner alias Forge.Document alias Forge.Project - alias Engine.Plugin.Runner use ExUnit.Case, async: false import Forge.Test.EventualAssertions diff --git a/apps/engine/test/engine/progress_test.exs b/apps/engine/test/engine/progress_test.exs index 20dcd9f8..6daa4ad6 100644 --- a/apps/engine/test/engine/progress_test.exs +++ b/apps/engine/test/engine/progress_test.exs @@ -1,5 +1,4 @@ defmodule Engine.ProgressTest do - alias Engine alias Engine.Progress import Engine.Api.Messages diff --git a/apps/engine/test/engine/search/indexer/metadata_test.exs b/apps/engine/test/engine/search/indexer/metadata_test.exs index 785ddd17..5aabe584 100644 --- a/apps/engine/test/engine/search/indexer/metadata_test.exs +++ b/apps/engine/test/engine/search/indexer/metadata_test.exs @@ -1,9 +1,9 @@ defmodule Engine.Search.Indexer.MetadataTest do + alias Engine.Search.Indexer.Metadata alias Forge.Ast alias Forge.Document alias Forge.Document.Position alias Forge.Document.Range - alias Engine.Search.Indexer.Metadata use ExUnit.Case diff --git a/apps/engine/test/engine/search/indexer_test.exs b/apps/engine/test/engine/search/indexer_test.exs index a7081c10..29379b6c 100644 --- a/apps/engine/test/engine/search/indexer_test.exs +++ b/apps/engine/test/engine/search/indexer_test.exs @@ -1,8 +1,8 @@ defmodule Engine.Search.IndexerTest do - alias Forge.Project alias Engine.Dispatch alias Engine.Search.Indexer alias Engine.Search.Indexer.Entry + alias Forge.Project use ExUnit.Case use Patch diff --git a/apps/engine/test/engine/search/store/backends/ets/schema_test.exs b/apps/engine/test/engine/search/store/backends/ets/schema_test.exs index 60706b8e..67f1c82e 100644 --- a/apps/engine/test/engine/search/store/backends/ets/schema_test.exs +++ b/apps/engine/test/engine/search/store/backends/ets/schema_test.exs @@ -1,7 +1,7 @@ defmodule Engine.Search.Store.Backends.Ets.SchemaTest do - alias Forge.Project alias Engine.Search.Store.Backends.Ets.Schema alias Engine.Search.Store.Backends.Ets.Wal + alias Forge.Project import Engine.Test.Fixtures import Wal, only: :macros diff --git a/apps/engine/test/engine/search/store/backends/ets_test.exs b/apps/engine/test/engine/search/store/backends/ets_test.exs index f821560a..786c3a88 100644 --- a/apps/engine/test/engine/search/store/backends/ets_test.exs +++ b/apps/engine/test/engine/search/store/backends/ets_test.exs @@ -1,11 +1,11 @@ defmodule Engine.Search.Store.Backend.EtsTest do - alias Forge.Project alias Engine.Dispatch alias Engine.Search.Store alias Engine.Search.Store.Backends alias Engine.Test.Entry - alias Forge.Test.EventualAssertions alias Engine.Test.Fixtures + alias Forge.Project + alias Forge.Test.EventualAssertions use ExUnit.Case, async: false diff --git a/apps/engine/test/engine/search/store_test.exs b/apps/engine/test/engine/search/store_test.exs index 0d00f38f..7628e096 100644 --- a/apps/engine/test/engine/search/store_test.exs +++ b/apps/engine/test/engine/search/store_test.exs @@ -5,8 +5,8 @@ defmodule Engine.Search.StoreTest do alias Engine.Search.Store alias Engine.Search.Store.Backends.Ets alias Engine.Test.Entry - alias Forge.Test.EventualAssertions alias Engine.Test.Fixtures + alias Forge.Test.EventualAssertions use ExUnit.Case, async: false diff --git a/apps/engine/test/remote_control_test.exs b/apps/engine/test/remote_control_test.exs index 3f156fd7..fcb08046 100644 --- a/apps/engine/test/remote_control_test.exs +++ b/apps/engine/test/remote_control_test.exs @@ -1,7 +1,6 @@ defmodule EngineTest do alias Forge.Document alias Forge.Project - alias Engine use ExUnit.Case use Forge.Test.EventualAssertions diff --git a/apps/engine/test/support/test/entry/entry_builder.ex b/apps/engine/test/support/test/entry/entry_builder.ex index 4d56eb17..82759c6e 100644 --- a/apps/engine/test/support/test/entry/entry_builder.ex +++ b/apps/engine/test/support/test/entry/entry_builder.ex @@ -1,7 +1,7 @@ defmodule Engine.Test.Entry.Builder do + alias Engine.Search.Indexer.Entry alias Forge.Document.Range alias Forge.Identifier - alias Engine.Search.Indexer.Entry import Forge.Test.PositionSupport diff --git a/apps/engine/test/support/test/extractor_case.ex b/apps/engine/test/support/test/extractor_case.ex index fd989ddd..dc227055 100644 --- a/apps/engine/test/support/test/extractor_case.ex +++ b/apps/engine/test/support/test/extractor_case.ex @@ -1,6 +1,6 @@ defmodule Engine.Test.ExtractorCase do - alias Forge.Document alias Engine.Search.Indexer + alias Forge.Document use ExUnit.CaseTemplate import Forge.Test.CodeSigil diff --git a/apps/expert/.iex.exs b/apps/expert/.iex.exs index 8936c259..6e4499ed 100644 --- a/apps/expert/.iex.exs +++ b/apps/expert/.iex.exs @@ -1,5 +1,5 @@ alias Forge.Project -alias Engine + other_project = [ diff --git a/apps/expert/lib/expert/application.ex b/apps/expert/lib/expert/application.ex index 7b9341c0..f57086b7 100644 --- a/apps/expert/lib/expert/application.ex +++ b/apps/expert/lib/expert/application.ex @@ -4,7 +4,7 @@ defmodule Expert.Application do @moduledoc false alias Forge.Document - alias Expert + alias Expert.TaskQueue alias Expert.Transport diff --git a/apps/expert/lib/expert/boot.ex b/apps/expert/lib/expert/boot.ex index 3962d8d4..9d5e6073 100644 --- a/apps/expert/lib/expert/boot.ex +++ b/apps/expert/lib/expert/boot.ex @@ -4,8 +4,8 @@ defmodule Expert.Boot do Packaging will ensure that config.exs and runtime.exs will be visible to the `:code` module """ - alias Future.Code alias Forge.VM.Versions + alias Future.Code require Logger # halt/1 will generate a "no local return" error, which is exactly right, but that's it's _job_ diff --git a/apps/expert/lib/expert/code_intelligence/completion.ex b/apps/expert/lib/expert/code_intelligence/completion.ex index 3080119f..94f9299c 100644 --- a/apps/expert/lib/expert/code_intelligence/completion.ex +++ b/apps/expert/lib/expert/code_intelligence/completion.ex @@ -1,17 +1,16 @@ defmodule Expert.CodeIntelligence.Completion do - alias Future.Code, as: Code - alias Forge.Ast.Analysis - alias Forge.Ast.Env - alias Forge.Document.Position - alias Forge.Project - alias Expert.Protocol.Types.Completion - alias Expert.Protocol.Types.InsertTextFormat - alias Engine alias Engine.Completion.Candidate alias Expert.CodeIntelligence.Completion.Builder alias Expert.CodeIntelligence.Completion.Translatable alias Expert.Configuration alias Expert.Project.Intelligence + alias Expert.Protocol.Types.Completion + alias Expert.Protocol.Types.InsertTextFormat + alias Forge.Ast.Analysis + alias Forge.Ast.Env + alias Forge.Document.Position + alias Forge.Project + alias Future.Code, as: Code alias Mix.Tasks.Namespace require InsertTextFormat diff --git a/apps/expert/lib/expert/code_intelligence/completion/builder.ex b/apps/expert/lib/expert/code_intelligence/completion/builder.ex index bf0177b8..17c0afa8 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/builder.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/builder.ex @@ -10,15 +10,15 @@ defmodule Expert.CodeIntelligence.Completion.Builder do replacement range will be determined by the preceding token. """ - alias Future.Code, as: Code + alias Expert.CodeIntelligence.Completion.SortScope + alias Expert.Protocol.Types.Completion + alias Expert.Protocol.Types.Markup.Content alias Forge.Ast.Env alias Forge.Document alias Forge.Document.Edit alias Forge.Document.Position alias Forge.Document.Range - alias Expert.Protocol.Types.Completion - alias Expert.Protocol.Types.Markup.Content - alias Expert.CodeIntelligence.Completion.SortScope + alias Future.Code, as: Code @doc "Fields found in `t:Expert.Protocol.Types.Completion.Item.t()`" @type item_opts :: keyword() diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/bitstring_option.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/bitstring_option.ex index 8d6275b8..f055cb67 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/translations/bitstring_option.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/bitstring_option.ex @@ -1,9 +1,9 @@ defmodule Expert.CodeIntelligence.Completion.Translations.BitstringOption do - alias Forge.Ast.Env alias Engine.Completion.Candidate alias Expert.CodeIntelligence.Completion.SortScope alias Expert.CodeIntelligence.Completion.Translatable alias Expert.CodeIntelligence.Completion.Translations + alias Forge.Ast.Env require Logger diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/callable.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/callable.ex index 33d27a17..dea684ee 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/translations/callable.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/callable.ex @@ -1,8 +1,8 @@ defmodule Expert.CodeIntelligence.Completion.Translations.Callable do - alias Forge.Ast.Env alias Engine.Completion.Candidate alias Expert.CodeIntelligence.Completion.Builder alias Expert.CodeIntelligence.Completion.SortScope + alias Forge.Ast.Env @callables [Candidate.Function, Candidate.Macro, Candidate.Callback, Candidate.Typespec] diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/callback.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/callback.ex index 3bf1304d..24129e98 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/translations/callback.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/callback.ex @@ -1,10 +1,10 @@ defmodule Expert.CodeIntelligence.Completion.Translations.Callback do - alias Forge.Ast.Env - alias Forge.Document alias Engine.Completion.Candidate.Callback alias Expert.CodeIntelligence.Completion.Builder alias Expert.CodeIntelligence.Completion.SortScope alias Expert.CodeIntelligence.Completion.Translatable + alias Forge.Ast.Env + alias Forge.Document defimpl Translatable, for: Callback do def translate(callback, _builder, %Env{} = env) do diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/function.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/function.ex index f420361f..332b0719 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/translations/function.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/function.ex @@ -1,8 +1,8 @@ defmodule Expert.CodeIntelligence.Completion.Translations.Function do - alias Forge.Ast.Env alias Engine.Completion.Candidate alias Expert.CodeIntelligence.Completion.Translatable alias Expert.CodeIntelligence.Completion.Translations + alias Forge.Ast.Env defimpl Translatable, for: Candidate.Function do def translate(function, _builder, %Env{} = env) do diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/macro.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/macro.ex index 358cc82a..fb3ece92 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/translations/macro.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/macro.ex @@ -1,14 +1,14 @@ defmodule Expert.CodeIntelligence.Completion.Translations.Macro do - alias Forge.Ast - alias Forge.Ast.Env - alias Forge.Document - alias Forge.Document.Position alias Engine.Completion.Candidate alias Expert.CodeIntelligence.Completion.SortScope alias Expert.CodeIntelligence.Completion.Translatable alias Expert.CodeIntelligence.Completion.Translations alias Expert.CodeIntelligence.Completion.Translations.Callable alias Expert.CodeIntelligence.Completion.Translations.Struct + alias Forge.Ast + alias Forge.Ast.Env + alias Forge.Document + alias Forge.Document.Position @snippet_macros ~w(def defp defmacro defmacrop defimpl defmodule defprotocol defguard defguardp defexception test use) @unhelpful_macros ~w(:: alias! in and or destructure) diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/map_field.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/map_field.ex index 917b9fe6..840ac4c4 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/translations/map_field.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/map_field.ex @@ -1,7 +1,7 @@ defmodule Expert.CodeIntelligence.Completion.Translations.MapField do - alias Forge.Ast.Env alias Engine.Completion.Candidate alias Expert.CodeIntelligence.Completion.Translatable + alias Forge.Ast.Env defimpl Translatable, for: Candidate.MapField do def translate(%Candidate.MapField{} = map_field, builder, %Env{} = env) do diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/module_attribute.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/module_attribute.ex index b1e09bfe..02dfea2a 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/translations/module_attribute.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/module_attribute.ex @@ -1,11 +1,11 @@ defmodule Expert.CodeIntelligence.Completion.Translations.ModuleAttribute do - alias Forge.Ast - alias Forge.Ast.Env - alias Forge.Document.Position alias Engine.Completion.Candidate alias Expert.CodeIntelligence.Completion.SortScope alias Expert.CodeIntelligence.Completion.Translatable alias Expert.CodeIntelligence.Completion.Translations + alias Forge.Ast + alias Forge.Ast.Env + alias Forge.Document.Position defimpl Translatable, for: Candidate.ModuleAttribute do def translate(attribute, builder, %Env{} = env) do diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/module_or_behaviour.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/module_or_behaviour.ex index b0d72ce0..e9f4e2e6 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/translations/module_or_behaviour.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/module_or_behaviour.ex @@ -1,10 +1,10 @@ defmodule Expert.CodeIntelligence.Completion.Translations.ModuleOrBehaviour do - alias Forge.Ast.Env alias Engine.Completion.Candidate alias Expert.CodeIntelligence.Completion.SortScope alias Expert.CodeIntelligence.Completion.Translatable alias Expert.CodeIntelligence.Completion.Translations alias Expert.Project.Intelligence + alias Forge.Ast.Env defimpl Translatable, for: Candidate.Module do def translate(module, builder, %Env{} = env) do diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/struct.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/struct.ex index d9e31685..c55ed405 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/translations/struct.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/struct.ex @@ -1,7 +1,7 @@ defmodule Expert.CodeIntelligence.Completion.Translations.Struct do - alias Future.Code, as: Code alias Forge.Ast.Env alias Forge.Formats + alias Future.Code, as: Code def completion(%Env{} = _env, _builder, _module_name, _full_name, 0) do nil diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/struct_field.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/struct_field.ex index 490b9beb..52403125 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/translations/struct_field.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/struct_field.ex @@ -1,10 +1,10 @@ defmodule Expert.CodeIntelligence.Completion.Translations.StructField do - alias Future.Code, as: Code - alias Forge.Ast.Env alias Engine.Completion.Candidate alias Expert.CodeIntelligence.Completion.SortScope alias Expert.CodeIntelligence.Completion.Translatable alias Expert.CodeIntelligence.Completion.Translations + alias Forge.Ast.Env + alias Future.Code, as: Code defimpl Translatable, for: Candidate.StructField do def translate(field, builder, %Env{} = env) do diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/typespec.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/typespec.ex index 8021bd48..44b0f9c0 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/translations/typespec.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/typespec.ex @@ -1,8 +1,8 @@ defmodule Expert.CodeIntelligence.Completion.Translations.Typespec do - alias Forge.Ast.Env alias Engine.Completion.Candidate alias Expert.CodeIntelligence.Completion.Translatable alias Expert.CodeIntelligence.Completion.Translations.Callable + alias Forge.Ast.Env defimpl Translatable, for: Candidate.Typespec do def translate(typespec, _builder, %Env{} = env) do diff --git a/apps/expert/lib/expert/code_intelligence/completion/translations/variable.ex b/apps/expert/lib/expert/code_intelligence/completion/translations/variable.ex index 0708ce8c..c19c5cca 100644 --- a/apps/expert/lib/expert/code_intelligence/completion/translations/variable.ex +++ b/apps/expert/lib/expert/code_intelligence/completion/translations/variable.ex @@ -1,8 +1,8 @@ defmodule Expert.CodeIntelligence.Completion.Translations.Variable do - alias Forge.Ast.Env alias Engine.Completion.Candidate alias Expert.CodeIntelligence.Completion.SortScope alias Expert.CodeIntelligence.Completion.Translatable + alias Forge.Ast.Env defimpl Translatable, for: Candidate.Variable do def translate(variable, builder, %Env{} = env) do diff --git a/apps/expert/lib/expert/configuration.ex b/apps/expert/lib/expert/configuration.ex index 5f97c612..a31c256f 100644 --- a/apps/expert/lib/expert/configuration.ex +++ b/apps/expert/lib/expert/configuration.ex @@ -3,15 +3,15 @@ defmodule Expert.Configuration do Encapsulates expert configuration options and client capability support. """ - alias Forge.Project + alias Expert.Configuration.Support + alias Expert.Dialyzer alias Expert.Protocol.Id alias Expert.Protocol.Notifications.DidChangeConfiguration alias Expert.Protocol.Requests alias Expert.Protocol.Requests.RegisterCapability alias Expert.Protocol.Types.ClientCapabilities alias Expert.Protocol.Types.Registration - alias Expert.Configuration.Support - alias Expert.Dialyzer + alias Forge.Project defstruct project: nil, support: nil, diff --git a/apps/expert/lib/expert/iex/helpers.ex b/apps/expert/lib/expert/iex/helpers.ex index 92af6cc1..e31c2931 100644 --- a/apps/expert/lib/expert/iex/helpers.ex +++ b/apps/expert/lib/expert/iex/helpers.ex @@ -1,18 +1,17 @@ defmodule Expert.IEx.Helpers do + alias Engine.Search + alias Expert.CodeIntelligence + alias Expert.Protocol.Types.Completion alias Forge.Ast alias Forge.Document alias Forge.Document.Position alias Forge.Project - alias Expert.Protocol.Types.Completion - alias Engine - alias Engine.Search - alias Expert.CodeIntelligence defmacro __using__(_) do quote do alias Forge.Document alias Forge.Document.Position - alias Engine + alias Engine.Search import unquote(__MODULE__) diff --git a/apps/expert/lib/expert/project/diagnostics.ex b/apps/expert/lib/expert/project/diagnostics.ex index be0d3ede..dd6f00e8 100644 --- a/apps/expert/lib/expert/project/diagnostics.ex +++ b/apps/expert/lib/expert/project/diagnostics.ex @@ -1,11 +1,10 @@ defmodule Expert.Project.Diagnostics do - alias Forge.Formats - alias Forge.Project - alias Expert.Protocol.Notifications.PublishDiagnostics - alias Engine alias Engine.Api.Messages alias Expert.Project.Diagnostics.State + alias Expert.Protocol.Notifications.PublishDiagnostics alias Expert.Transport + alias Forge.Formats + alias Forge.Project import Messages require Logger diff --git a/apps/expert/lib/expert/project/intelligence.ex b/apps/expert/lib/expert/project/intelligence.ex index c102b548..3bc82fd6 100644 --- a/apps/expert/lib/expert/project/intelligence.ex +++ b/apps/expert/lib/expert/project/intelligence.ex @@ -58,8 +58,8 @@ defmodule Expert.Project.Intelligence do end end - alias Forge.Project alias Engine.Api + alias Forge.Project use GenServer import Api.Messages diff --git a/apps/expert/lib/expert/project/node.ex b/apps/expert/lib/expert/project/node.ex index 50825a85..69121482 100644 --- a/apps/expert/lib/expert/project/node.ex +++ b/apps/expert/lib/expert/project/node.ex @@ -12,7 +12,7 @@ defmodule Expert.Project.Node do end alias Forge.Project - alias Engine + alias Expert.Project.Progress require Logger diff --git a/apps/expert/lib/expert/project/progress.ex b/apps/expert/lib/expert/project/progress.ex index b15fd040..bfa9f151 100644 --- a/apps/expert/lib/expert/project/progress.ex +++ b/apps/expert/lib/expert/project/progress.ex @@ -1,6 +1,6 @@ defmodule Expert.Project.Progress do - alias Forge.Project alias Expert.Project.Progress.State + alias Forge.Project import Engine.Api.Messages diff --git a/apps/expert/lib/expert/project/progress/percentage.ex b/apps/expert/lib/expert/project/progress/percentage.ex index a1d948f6..61da3ce7 100644 --- a/apps/expert/lib/expert/project/progress/percentage.ex +++ b/apps/expert/lib/expert/project/progress/percentage.ex @@ -2,9 +2,9 @@ defmodule Expert.Project.Progress.Percentage do @moduledoc """ The backing data structure for percentage based progress reports """ - alias Forge.Math alias Expert.Protocol.Notifications alias Expert.Protocol.Types.WorkDone + alias Forge.Math @enforce_keys [:token, :kind, :max] defstruct [:token, :kind, :title, :message, :max, current: 0] diff --git a/apps/expert/lib/expert/project/progress/state.ex b/apps/expert/lib/expert/project/progress/state.ex index 97713483..c6d96cca 100644 --- a/apps/expert/lib/expert/project/progress/state.ex +++ b/apps/expert/lib/expert/project/progress/state.ex @@ -1,11 +1,11 @@ defmodule Expert.Project.Progress.State do - alias Forge.Project - alias Expert.Protocol.Id - alias Expert.Protocol.Requests alias Expert.Configuration alias Expert.Project.Progress.Percentage alias Expert.Project.Progress.Value + alias Expert.Protocol.Id + alias Expert.Protocol.Requests alias Expert.Transport + alias Forge.Project import Engine.Api.Messages diff --git a/apps/expert/lib/expert/project/progress/support.ex b/apps/expert/lib/expert/project/progress/support.ex index d09a566d..bcd590ba 100644 --- a/apps/expert/lib/expert/project/progress/support.ex +++ b/apps/expert/lib/expert/project/progress/support.ex @@ -1,6 +1,6 @@ defmodule Expert.Project.Progress.Support do - alias Forge.Project alias Expert.Project.Progress + alias Forge.Project import Engine.Api.Messages diff --git a/apps/expert/lib/expert/project/search_listener.ex b/apps/expert/lib/expert/project/search_listener.ex index 1b2fda4d..f069b9da 100644 --- a/apps/expert/lib/expert/project/search_listener.ex +++ b/apps/expert/lib/expert/project/search_listener.ex @@ -1,11 +1,10 @@ defmodule Expert.Project.SearchListener do - alias Forge.Formats - alias Forge.Project + alias Engine.Api alias Expert.Protocol.Id alias Expert.Protocol.Requests - alias Engine.Api - alias Expert alias Expert.Window + alias Forge.Formats + alias Forge.Project import Api.Messages diff --git a/apps/expert/lib/expert/project/supervisor.ex b/apps/expert/lib/expert/project/supervisor.ex index 6490c0f9..b2c2980f 100644 --- a/apps/expert/lib/expert/project/supervisor.ex +++ b/apps/expert/lib/expert/project/supervisor.ex @@ -1,11 +1,11 @@ defmodule Expert.Project.Supervisor do - alias Forge.Project alias Engine.ProjectNodeSupervisor alias Expert.Project.Diagnostics alias Expert.Project.Intelligence alias Expert.Project.Node alias Expert.Project.Progress alias Expert.Project.SearchListener + alias Forge.Project use Supervisor diff --git a/apps/expert/lib/expert/provider/handlers/code_action.ex b/apps/expert/lib/expert/provider/handlers/code_action.ex index df18211d..0731511a 100644 --- a/apps/expert/lib/expert/provider/handlers/code_action.ex +++ b/apps/expert/lib/expert/provider/handlers/code_action.ex @@ -3,7 +3,7 @@ defmodule Expert.Provider.Handlers.CodeAction do alias Expert.Protocol.Responses alias Expert.Protocol.Types alias Expert.Protocol.Types.Workspace - alias Engine + alias Engine.CodeAction alias Expert.Configuration diff --git a/apps/expert/lib/expert/provider/handlers/code_lens.ex b/apps/expert/lib/expert/provider/handlers/code_lens.ex index 63fa1c17..f8c7ae07 100644 --- a/apps/expert/lib/expert/provider/handlers/code_lens.ex +++ b/apps/expert/lib/expert/provider/handlers/code_lens.ex @@ -1,14 +1,13 @@ defmodule Expert.Provider.Handlers.CodeLens do - alias Forge.Document - alias Forge.Document.Position - alias Forge.Document.Range - alias Forge.Project + alias Expert.Configuration alias Expert.Protocol.Requests alias Expert.Protocol.Responses alias Expert.Protocol.Types.CodeLens - alias Engine - alias Expert.Configuration alias Expert.Provider.Handlers + alias Forge.Document + alias Forge.Document.Position + alias Forge.Document.Range + alias Forge.Project import Document.Line require Logger diff --git a/apps/expert/lib/expert/provider/handlers/commands.ex b/apps/expert/lib/expert/provider/handlers/commands.ex index d4feb01a..eac449b7 100644 --- a/apps/expert/lib/expert/provider/handlers/commands.ex +++ b/apps/expert/lib/expert/provider/handlers/commands.ex @@ -1,12 +1,11 @@ defmodule Expert.Provider.Handlers.Commands do - alias Forge.Project + alias Expert.Configuration alias Expert.Protocol.Requests alias Expert.Protocol.Responses alias Expert.Protocol.Types alias Expert.Protocol.Types.ErrorCodes - alias Engine - alias Expert.Configuration alias Expert.Window + alias Forge.Project require ErrorCodes require Logger diff --git a/apps/expert/lib/expert/provider/handlers/completion.ex b/apps/expert/lib/expert/provider/handlers/completion.ex index 5f29050b..3e249270 100644 --- a/apps/expert/lib/expert/provider/handlers/completion.ex +++ b/apps/expert/lib/expert/provider/handlers/completion.ex @@ -1,12 +1,12 @@ defmodule Expert.Provider.Handlers.Completion do - alias Forge.Ast - alias Forge.Document - alias Forge.Document.Position + alias Expert.CodeIntelligence + alias Expert.Configuration alias Expert.Protocol.Requests alias Expert.Protocol.Responses alias Expert.Protocol.Types.Completion - alias Expert.CodeIntelligence - alias Expert.Configuration + alias Forge.Ast + alias Forge.Document + alias Forge.Document.Position require Logger diff --git a/apps/expert/lib/expert/provider/handlers/document_symbols.ex b/apps/expert/lib/expert/provider/handlers/document_symbols.ex index 1775210d..ba638709 100644 --- a/apps/expert/lib/expert/provider/handlers/document_symbols.ex +++ b/apps/expert/lib/expert/provider/handlers/document_symbols.ex @@ -1,12 +1,12 @@ defmodule Expert.Provider.Handlers.DocumentSymbols do - alias Forge.Document + alias Engine.Api + alias Engine.CodeIntelligence.Symbols + alias Expert.Configuration alias Expert.Protocol.Requests.DocumentSymbols alias Expert.Protocol.Responses alias Expert.Protocol.Types.Document.Symbol alias Expert.Protocol.Types.Symbol.Kind, as: SymbolKind - alias Engine.Api - alias Engine.CodeIntelligence.Symbols - alias Expert.Configuration + alias Forge.Document require SymbolKind diff --git a/apps/expert/lib/expert/provider/handlers/find_references.ex b/apps/expert/lib/expert/provider/handlers/find_references.ex index 847ce4c0..21f37647 100644 --- a/apps/expert/lib/expert/provider/handlers/find_references.ex +++ b/apps/expert/lib/expert/provider/handlers/find_references.ex @@ -1,10 +1,10 @@ defmodule Expert.Provider.Handlers.FindReferences do - alias Forge.Ast - alias Forge.Document - alias Expert.Protocol.Requests.FindReferences - alias Expert.Protocol.Responses alias Engine.Api alias Expert.Configuration + alias Expert.Protocol.Requests.FindReferences + alias Expert.Protocol.Responses + alias Forge.Ast + alias Forge.Document require Logger diff --git a/apps/expert/lib/expert/provider/handlers/formatting.ex b/apps/expert/lib/expert/provider/handlers/formatting.ex index da206f29..3d439835 100644 --- a/apps/expert/lib/expert/provider/handlers/formatting.ex +++ b/apps/expert/lib/expert/provider/handlers/formatting.ex @@ -1,9 +1,8 @@ defmodule Expert.Provider.Handlers.Formatting do - alias Forge.Document.Changes + alias Expert.Configuration alias Expert.Protocol.Requests alias Expert.Protocol.Responses - alias Engine - alias Expert.Configuration + alias Forge.Document.Changes require Logger diff --git a/apps/expert/lib/expert/provider/handlers/go_to_definition.ex b/apps/expert/lib/expert/provider/handlers/go_to_definition.ex index 75746056..130500dd 100644 --- a/apps/expert/lib/expert/provider/handlers/go_to_definition.ex +++ b/apps/expert/lib/expert/provider/handlers/go_to_definition.ex @@ -1,7 +1,7 @@ defmodule Expert.Provider.Handlers.GoToDefinition do alias Expert.Protocol.Requests.GoToDefinition alias Expert.Protocol.Responses - alias Engine + alias Expert.Configuration require Logger diff --git a/apps/expert/lib/expert/provider/handlers/hover.ex b/apps/expert/lib/expert/provider/handlers/hover.ex index edb00417..17a0fe50 100644 --- a/apps/expert/lib/expert/provider/handlers/hover.ex +++ b/apps/expert/lib/expert/provider/handlers/hover.ex @@ -1,16 +1,15 @@ defmodule Expert.Provider.Handlers.Hover do + alias Engine.CodeIntelligence.Docs + alias Expert.Configuration + alias Expert.Protocol.Requests + alias Expert.Protocol.Responses + alias Expert.Protocol.Types.Hover + alias Expert.Provider.Markdown alias Forge.Ast alias Forge.Ast.Analysis alias Forge.Document alias Forge.Document.Position alias Forge.Project - alias Expert.Protocol.Requests - alias Expert.Protocol.Responses - alias Expert.Protocol.Types.Hover - alias Engine - alias Engine.CodeIntelligence.Docs - alias Expert.Configuration - alias Expert.Provider.Markdown require Logger diff --git a/apps/expert/lib/expert/provider/handlers/workspace_symbol.ex b/apps/expert/lib/expert/provider/handlers/workspace_symbol.ex index 8037db51..b996484a 100644 --- a/apps/expert/lib/expert/provider/handlers/workspace_symbol.ex +++ b/apps/expert/lib/expert/provider/handlers/workspace_symbol.ex @@ -1,12 +1,12 @@ defmodule Expert.Provider.Handlers.WorkspaceSymbol do + alias Engine.Api + alias Engine.CodeIntelligence.Symbols + alias Expert.Configuration alias Expert.Protocol.Requests.WorkspaceSymbol alias Expert.Protocol.Responses alias Expert.Protocol.Types.Location alias Expert.Protocol.Types.Symbol.Kind, as: SymbolKind alias Expert.Protocol.Types.Workspace.Symbol - alias Engine.Api - alias Engine.CodeIntelligence.Symbols - alias Expert.Configuration require SymbolKind diff --git a/apps/expert/lib/expert/state.ex b/apps/expert/lib/expert/state.ex index 5797d798..9de5ee12 100644 --- a/apps/expert/lib/expert/state.ex +++ b/apps/expert/lib/expert/state.ex @@ -1,5 +1,4 @@ defmodule Expert.State do - alias Forge.Document alias Expert.Protocol.Id alias Expert.Protocol.Notifications alias Expert.Protocol.Notifications.DidChange @@ -23,13 +22,14 @@ defmodule Expert.State do alias Expert.Protocol.Types.FileSystemWatcher alias Expert.Protocol.Types.Registration alias Expert.Protocol.Types.TextDocument - alias Engine + alias Engine.Api alias Expert.CodeIntelligence alias Expert.Configuration alias Expert.Project alias Expert.Provider.Handlers alias Expert.Transport + alias Forge.Document require CodeAction.Kind require Logger diff --git a/apps/expert/test/document_test.exs b/apps/expert/test/document_test.exs index dd24a74d..39d4271f 100644 --- a/apps/expert/test/document_test.exs +++ b/apps/expert/test/document_test.exs @@ -1,8 +1,8 @@ defmodule Forge.DocumentTest do - alias Forge.Document alias Expert.Protocol.Types.Position alias Expert.Protocol.Types.Range alias Expert.Protocol.Types.TextEdit + alias Forge.Document alias Expert.Protocol.Types.TextDocument.ContentChangeEvent.TextDocumentContentChangeEvent, as: RangedContentChange diff --git a/apps/expert/test/expert/code_intelligence/completion/builder_test.exs b/apps/expert/test/expert/code_intelligence/completion/builder_test.exs index 4de53b19..279ce85b 100644 --- a/apps/expert/test/expert/code_intelligence/completion/builder_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion/builder_test.exs @@ -1,8 +1,8 @@ defmodule Expert.CodeIntelligence.Completion.BuilderTest do + alias Expert.CodeIntelligence.Completion.SortScope + alias Expert.Protocol.Types.Completion.Item, as: CompletionItem alias Forge.Ast alias Forge.Ast.Env - alias Expert.Protocol.Types.Completion.Item, as: CompletionItem - alias Expert.CodeIntelligence.Completion.SortScope use ExUnit.Case, async: true diff --git a/apps/expert/test/expert/code_intelligence/completion_test.exs b/apps/expert/test/expert/code_intelligence/completion_test.exs index 12150d7c..9778eec9 100644 --- a/apps/expert/test/expert/code_intelligence/completion_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion_test.exs @@ -1,8 +1,8 @@ defmodule Expert.CodeIntelligence.CompletionTest do - alias Expert.Protocol.Types.Completion - alias Expert.Protocol.Types.Completion.Item, as: CompletionItem alias Engine.Completion.Candidate alias Expert.CodeIntelligence.Completion.SortScope + alias Expert.Protocol.Types.Completion + alias Expert.Protocol.Types.Completion.Item, as: CompletionItem use Expert.Test.Expert.CompletionCase use Patch diff --git a/apps/expert/test/expert/project/diagnostics/state_test.exs b/apps/expert/test/expert/project/diagnostics/state_test.exs index cdbab710..234066ae 100644 --- a/apps/expert/test/expert/project/diagnostics/state_test.exs +++ b/apps/expert/test/expert/project/diagnostics/state_test.exs @@ -1,9 +1,9 @@ defmodule Forge.Project.Diagnostics.StateTest do + alias Expert.Project.Diagnostics.State alias Forge.Document alias Forge.Document.Edit alias Forge.Plugin.V1.Diagnostic alias Forge.Project - alias Expert.Project.Diagnostics.State import Engine.Test.Fixtures diff --git a/apps/expert/test/expert/project/diagnostics_test.exs b/apps/expert/test/expert/project/diagnostics_test.exs index 0d32fa6e..89082602 100644 --- a/apps/expert/test/expert/project/diagnostics_test.exs +++ b/apps/expert/test/expert/project/diagnostics_test.exs @@ -1,11 +1,9 @@ defmodule Expert.Project.DiagnosticsTest do - alias Forge.Document - alias Forge.Plugin.V1.Diagnostic alias Expert.Protocol.Notifications.PublishDiagnostics - alias Engine - alias Expert - alias Expert.Transport alias Expert.Test.DispatchFake + alias Expert.Transport + alias Forge.Document + alias Forge.Plugin.V1.Diagnostic use ExUnit.Case use Patch diff --git a/apps/expert/test/expert/project/intelligence_test.exs b/apps/expert/test/expert/project/intelligence_test.exs index 0d99b993..17c661d2 100644 --- a/apps/expert/test/expert/project/intelligence_test.exs +++ b/apps/expert/test/expert/project/intelligence_test.exs @@ -1,9 +1,8 @@ defmodule Expert.Project.IntelligenceTest do - alias Engine alias Engine.Api.Messages + alias Engine.Test.Fixtures alias Expert.Project.Intelligence alias Expert.Test.DispatchFake - alias Engine.Test.Fixtures use ExUnit.Case use Patch diff --git a/apps/expert/test/expert/project/node_test.exs b/apps/expert/test/expert/project/node_test.exs index 4dc595b1..0a4db7d4 100644 --- a/apps/expert/test/expert/project/node_test.exs +++ b/apps/expert/test/expert/project/node_test.exs @@ -1,10 +1,7 @@ defmodule Expert.Project.NodeTest do - alias Engine - alias Expert - alias Expert.Project.Node, as: ProjectNode - import Engine.Test.Fixtures import Engine.Api.Messages + alias Expert.Project.Node, as: ProjectNode use ExUnit.Case use Forge.Test.EventualAssertions diff --git a/apps/expert/test/expert/project/progress_test.exs b/apps/expert/test/expert/project/progress_test.exs index 66edaec3..56549ef1 100644 --- a/apps/expert/test/expert/project/progress_test.exs +++ b/apps/expert/test/expert/project/progress_test.exs @@ -1,12 +1,10 @@ defmodule Expert.Project.ProgressTest do - alias Expert.Protocol.Notifications - alias Expert.Protocol.Requests - alias Engine - alias Engine alias Expert.Configuration alias Expert.Project - alias Expert.Transport + alias Expert.Protocol.Notifications + alias Expert.Protocol.Requests alias Expert.Test.DispatchFake + alias Expert.Transport import Engine.Test.Fixtures import Engine.Api.Messages diff --git a/apps/expert/test/expert/provider/handlers/code_lens_test.exs b/apps/expert/test/expert/provider/handlers/code_lens_test.exs index 4dd77bb8..2ecfdfb1 100644 --- a/apps/expert/test/expert/provider/handlers/code_lens_test.exs +++ b/apps/expert/test/expert/provider/handlers/code_lens_test.exs @@ -1,12 +1,10 @@ defmodule Expert.Provider.Handlers.CodeLensTest do - alias Forge.Document - alias Forge.Project alias Expert.Proto.Convert alias Expert.Protocol.Requests.CodeLens alias Expert.Protocol.Types - alias Engine - alias Expert alias Expert.Provider.Handlers + alias Forge.Document + alias Forge.Project import Expert.Test.Protocol.Fixtures.LspProtocol import Engine.Api.Messages diff --git a/apps/expert/test/expert/provider/handlers/find_references_test.exs b/apps/expert/test/expert/provider/handlers/find_references_test.exs index b6227711..f9f1622d 100644 --- a/apps/expert/test/expert/provider/handlers/find_references_test.exs +++ b/apps/expert/test/expert/provider/handlers/find_references_test.exs @@ -1,13 +1,11 @@ defmodule Expert.Provider.Handlers.FindReferencesTest do - alias Forge.Ast.Analysis - alias Forge.Document - alias Forge.Document.Location alias Expert.Proto.Convert alias Expert.Protocol.Requests.FindReferences alias Expert.Protocol.Responses - alias Engine - alias Expert alias Expert.Provider.Handlers + alias Forge.Ast.Analysis + alias Forge.Document + alias Forge.Document.Location import Expert.Test.Protocol.Fixtures.LspProtocol import Engine.Test.Fixtures diff --git a/apps/expert/test/expert/provider/handlers/go_to_definition_test.exs b/apps/expert/test/expert/provider/handlers/go_to_definition_test.exs index 0dee1ccb..84f891c6 100644 --- a/apps/expert/test/expert/provider/handlers/go_to_definition_test.exs +++ b/apps/expert/test/expert/provider/handlers/go_to_definition_test.exs @@ -1,11 +1,9 @@ defmodule Expert.Provider.Handlers.GoToDefinitionTest do - alias Forge.Document - alias Forge.Document.Location alias Expert.Proto.Convert alias Expert.Protocol.Requests.GoToDefinition - alias Engine - alias Expert alias Expert.Provider.Handlers + alias Forge.Document + alias Forge.Document.Location import Expert.Test.Protocol.Fixtures.LspProtocol import Engine.Api.Messages diff --git a/apps/expert/test/expert/provider/handlers/hover_test.exs b/apps/expert/test/expert/provider/handlers/hover_test.exs index 695ef0a0..249d6320 100644 --- a/apps/expert/test/expert/provider/handlers/hover_test.exs +++ b/apps/expert/test/expert/provider/handlers/hover_test.exs @@ -1,16 +1,16 @@ defmodule Expert.Provider.Handlers.HoverTest do - alias Forge.Document - alias Forge.Document.Position + alias Engine.Api.Messages + alias Engine.Test.Fixtures + alias Expert.Proto.Convert alias Expert.Protocol.Requests alias Expert.Protocol.Types - alias Engine - alias Engine.Api.Messages - alias Expert alias Expert.Provider.Handlers - alias Engine.Test.Fixtures alias Expert.Test.Protocol.Fixtures.LspProtocol + alias Forge.Document + alias Forge.Document.Position + import Forge.Test.CodeSigil import Forge.Test.CursorSupport import Forge.Test.RangeSupport diff --git a/apps/expert/test/expert/task_queue_test.exs b/apps/expert/test/expert/task_queue_test.exs index c4918d08..0dfe94cd 100644 --- a/apps/expert/test/expert/task_queue_test.exs +++ b/apps/expert/test/expert/task_queue_test.exs @@ -1,11 +1,11 @@ defmodule Expert.TaskQueueTest do + alias Engine.Test.Fixtures + alias Expert.Configuration alias Expert.Protocol.Notifications alias Expert.Protocol.Requests - alias Expert.Configuration alias Expert.Provider.Handlers alias Expert.TaskQueue alias Expert.Transport - alias Engine.Test.Fixtures use ExUnit.Case use Patch diff --git a/apps/expert/test/support/test/completion_case.ex b/apps/expert/test/support/test/completion_case.ex index 6317fbe8..bd8c8570 100644 --- a/apps/expert/test/support/test/completion_case.ex +++ b/apps/expert/test/support/test/completion_case.ex @@ -1,13 +1,12 @@ defmodule Expert.Test.Expert.CompletionCase do - alias Forge.Ast - alias Forge.Document - alias Forge.Project + alias Expert.CodeIntelligence.Completion alias Expert.Protocol.Types.Completion.Context, as: CompletionContext alias Expert.Protocol.Types.Completion.Item, as: CompletionItem alias Expert.Protocol.Types.Completion.List, as: CompletionList - alias Engine - alias Expert - alias Expert.CodeIntelligence.Completion + + alias Forge.Ast + alias Forge.Document + alias Forge.Project alias Forge.Test.CodeSigil use ExUnit.CaseTemplate diff --git a/apps/expert/test/support/test/dispatch_fake.ex b/apps/expert/test/support/test/dispatch_fake.ex index 0ee0ce7b..e70aeb76 100644 --- a/apps/expert/test/support/test/dispatch_fake.ex +++ b/apps/expert/test/support/test/dispatch_fake.ex @@ -1,5 +1,4 @@ defmodule Expert.Test.DispatchFake do - alias Engine alias Engine.Dispatch defmacro __using__(_) do diff --git a/apps/forge/lib/forge/ast.ex b/apps/forge/lib/forge/ast.ex index b8d2d4f7..bb02f61a 100644 --- a/apps/forge/lib/forge/ast.ex +++ b/apps/forge/lib/forge/ast.ex @@ -66,12 +66,12 @@ defmodule Forge.Ast do """ - alias Future.Code, as: Code alias Forge.Ast.Analysis alias Forge.Document alias Forge.Document.Edit alias Forge.Document.Position alias Forge.Document.Range + alias Future.Code, as: Code alias Sourceror.Zipper require Logger diff --git a/apps/protocol/lib/expert/protocol/conversions.ex b/apps/protocol/lib/expert/protocol/conversions.ex index 2b46f6a7..7b0b03de 100644 --- a/apps/protocol/lib/expert/protocol/conversions.ex +++ b/apps/protocol/lib/expert/protocol/conversions.ex @@ -7,6 +7,8 @@ defmodule Expert.Protocol.Conversions do the line contains non-ascii characters. If it's a pure ascii line, then the positions are the same in both utf-8 and utf-16, since they reference characters and not bytes. """ + alias Expert.Protocol.Types.Position, as: LSPosition + alias Expert.Protocol.Types.Range, as: LSRange alias Forge.CodeUnit alias Forge.Document alias Forge.Document.Line @@ -14,8 +16,6 @@ defmodule Expert.Protocol.Conversions do alias Forge.Document.Position, as: ElixirPosition alias Forge.Document.Range, as: ElixirRange alias Forge.Math - alias Expert.Protocol.Types.Position, as: LSPosition - alias Expert.Protocol.Types.Range, as: LSRange import Line diff --git a/apps/protocol/test/expert/proto_test.exs b/apps/protocol/test/expert/proto_test.exs index 2a05e93d..7580a80c 100644 --- a/apps/protocol/test/expert/proto_test.exs +++ b/apps/protocol/test/expert/proto_test.exs @@ -1,10 +1,10 @@ defmodule Expert.ProtoTest do - alias Forge.Document alias Expert.Proto alias Expert.Proto.Convert alias Expert.Proto.LspTypes alias Expert.Protocol.Types alias Expert.Test.Protocol.Fixtures.LspProtocol + alias Forge.Document import LspProtocol diff --git a/apps/protocol/test/expert/protocol/conversions_test.exs b/apps/protocol/test/expert/protocol/conversions_test.exs index e3f7941d..d3f483de 100644 --- a/apps/protocol/test/expert/protocol/conversions_test.exs +++ b/apps/protocol/test/expert/protocol/conversions_test.exs @@ -1,8 +1,8 @@ defmodule Expert.Protocol.ConversionsTest do - alias Forge.Document - alias Forge.Document.Position, as: ExPosition alias Expert.Protocol.Conversions alias Expert.Protocol.Types.Position, as: LSPosition + alias Forge.Document + alias Forge.Document.Position, as: ExPosition use ExUnit.Case diff --git a/apps/protocol/test/expert/protocol/response_test.exs b/apps/protocol/test/expert/protocol/response_test.exs index 1f82cec5..01552456 100644 --- a/apps/protocol/test/expert/protocol/response_test.exs +++ b/apps/protocol/test/expert/protocol/response_test.exs @@ -1,8 +1,8 @@ defmodule Expert.Protocol.ResponseTest do - alias Forge.Document alias Expert.Proto alias Expert.Proto.Convert alias Expert.Protocol.Types + alias Forge.Document use ExUnit.Case From 56f747a330fc8ad24b2c815337412f0e0c0a57f6 Mon Sep 17 00:00:00 2001 From: doorgan Date: Thu, 24 Apr 2025 16:21:44 -0300 Subject: [PATCH 5/6] Update test that fails after the rename There is an existing bug in `main` that causes `ExUnitProperties` to be suggested for `Exper|t`. The changes in the PR this commit is part of is focused only in the renaming, so this changes the test to something that tests roughly the same, but passes. A different PR needs to fix the underlying issue here --- apps/expert/test/expert/code_intelligence/completion_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/expert/test/expert/code_intelligence/completion_test.exs b/apps/expert/test/expert/code_intelligence/completion_test.exs index 9778eec9..29551d0d 100644 --- a/apps/expert/test/expert/code_intelligence/completion_test.exs +++ b/apps/expert/test/expert/code_intelligence/completion_test.exs @@ -9,7 +9,7 @@ defmodule Expert.CodeIntelligence.CompletionTest do describe "excluding modules from expert dependencies" do test "expert modules are removed", %{project: project} do - assert [] = complete(project, "Expert|") + assert [] = complete(project, "Expert.CodeIntelligence|") end test "Expert submodules are removed", %{project: project} do From 521de740f72ec99f09f779cf9ad39de31de9c08b Mon Sep 17 00:00:00 2001 From: doorgan Date: Thu, 5 Jun 2025 12:44:22 -0300 Subject: [PATCH 6/6] Fix formatting --- apps/engine/lib/engine/engine/build/isolation.ex | 2 +- apps/engine/lib/engine/engine/progress.ex | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/engine/lib/engine/engine/build/isolation.ex b/apps/engine/lib/engine/engine/build/isolation.ex index 3225c150..7139fba1 100644 --- a/apps/engine/lib/engine/engine/build/isolation.ex +++ b/apps/engine/lib/engine/engine/build/isolation.ex @@ -3,7 +3,7 @@ defmodule Engine.Build.Isolation do Runs functions in an isolated, monitored process """ - @spec invoke((() -> term())) :: {:ok, term()} | {:error, term()} + @spec invoke((-> term())) :: {:ok, term()} | {:error, term()} def invoke(function) when is_function(function, 0) do me = self() diff --git a/apps/engine/lib/engine/engine/progress.ex b/apps/engine/lib/engine/engine/progress.ex index b9bcc7e6..ab24e5e8 100644 --- a/apps/engine/lib/engine/engine/progress.ex +++ b/apps/engine/lib/engine/engine/progress.ex @@ -5,7 +5,7 @@ defmodule Engine.Progress do @type message :: String.t() @type delta :: pos_integer() - @type on_complete_callback :: (() -> any()) + @type on_complete_callback :: (-> any()) @type report_progress_callback :: (delta(), message() -> any()) defmacro __using__(_) do @@ -14,7 +14,7 @@ defmodule Engine.Progress do end end - @spec with_progress(label(), (() -> any())) :: any() + @spec with_progress(label(), (-> any())) :: any() def with_progress(label, func) when is_function(func, 0) do on_complete = begin_progress(label)