pi-usereq 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.g.conf +20 -0
- package/.github/workflows/release-npm.yml +131 -0
- package/.gitignore +270 -0
- package/CHANGELOG.md +221 -0
- package/LICENSE +674 -0
- package/README.md +260 -0
- package/TODO.md +20 -0
- package/docs/pi.dev/agent-document-manifest.json +6399 -0
- package/docs/pi.dev/coding-agent-docs/compaction.md +394 -0
- package/docs/pi.dev/coding-agent-docs/custom-provider.md +596 -0
- package/docs/pi.dev/coding-agent-docs/development.md +71 -0
- package/docs/pi.dev/coding-agent-docs/extensions.md +2262 -0
- package/docs/pi.dev/coding-agent-docs/images/doom-extension.png +0 -0
- package/docs/pi.dev/coding-agent-docs/images/exy.png +0 -0
- package/docs/pi.dev/coding-agent-docs/images/interactive-mode.png +0 -0
- package/docs/pi.dev/coding-agent-docs/images/tree-view.png +0 -0
- package/docs/pi.dev/coding-agent-docs/json.md +82 -0
- package/docs/pi.dev/coding-agent-docs/keybindings.md +175 -0
- package/docs/pi.dev/coding-agent-docs/models.md +392 -0
- package/docs/pi.dev/coding-agent-docs/packages.md +218 -0
- package/docs/pi.dev/coding-agent-docs/prompt-templates.md +67 -0
- package/docs/pi.dev/coding-agent-docs/providers.md +195 -0
- package/docs/pi.dev/coding-agent-docs/rpc.md +1377 -0
- package/docs/pi.dev/coding-agent-docs/sdk.md +1124 -0
- package/docs/pi.dev/coding-agent-docs/session.md +412 -0
- package/docs/pi.dev/coding-agent-docs/settings.md +247 -0
- package/docs/pi.dev/coding-agent-docs/shell-aliases.md +13 -0
- package/docs/pi.dev/coding-agent-docs/skills.md +232 -0
- package/docs/pi.dev/coding-agent-docs/terminal-setup.md +106 -0
- package/docs/pi.dev/coding-agent-docs/termux.md +127 -0
- package/docs/pi.dev/coding-agent-docs/themes.md +295 -0
- package/docs/pi.dev/coding-agent-docs/tmux.md +61 -0
- package/docs/pi.dev/coding-agent-docs/tree.md +231 -0
- package/docs/pi.dev/coding-agent-docs/tui.md +887 -0
- package/docs/pi.dev/coding-agent-docs/windows.md +17 -0
- package/docs/pi.dev/mom-docs/artifacts-server.md +475 -0
- package/docs/pi.dev/mom-docs/events.md +307 -0
- package/docs/pi.dev/mom-docs/new.md +970 -0
- package/docs/pi.dev/mom-docs/sandbox.md +153 -0
- package/docs/pi.dev/mom-docs/slack-bot-minimal-guide.md +399 -0
- package/docs/pi.dev/mom-docs/v86.md +319 -0
- package/docs/pi.dev/pods-docs/gml-4.5.md +189 -0
- package/docs/pi.dev/pods-docs/gpt-oss.md +233 -0
- package/docs/pi.dev/pods-docs/implementation-plan.md +183 -0
- package/docs/pi.dev/pods-docs/kimi-k2.md +197 -0
- package/docs/pi.dev/pods-docs/models.md +116 -0
- package/docs/pi.dev/pods-docs/plan.md +166 -0
- package/docs/pi.dev/pods-docs/qwen3-coder.md +132 -0
- package/images/flowchart-bw.png +0 -0
- package/images/flowchart-bw.svg +102 -0
- package/images/flowchart.md +100 -0
- package/images/flowchart.png +0 -0
- package/images/flowchart.svg +3 -0
- package/package.json +46 -0
- package/req/docs/REFERENCES.md +4554 -0
- package/req/docs/REQUIREMENTS.md +475 -0
- package/req/docs/WORKFLOW.md +1059 -0
- package/scripts/debug-extension.ts +497 -0
- package/scripts/lib/extension-debug-harness.ts +450 -0
- package/scripts/lib/recording-extension-api.ts +786 -0
- package/scripts/lib/sdk-smoke.ts +503 -0
- package/scripts/pi-usereq-debug.sh +330 -0
- package/scripts/tool-args-to-params.ts +208 -0
- package/src/cli.ts +349 -0
- package/src/core/agent-tool-json.ts +621 -0
- package/src/core/compress-files.ts +72 -0
- package/src/core/compress-payload.ts +648 -0
- package/src/core/compress.ts +464 -0
- package/src/core/config.ts +272 -0
- package/src/core/doxygen-parser.ts +318 -0
- package/src/core/errors.ts +31 -0
- package/src/core/extension-status.ts +660 -0
- package/src/core/find-constructs.ts +319 -0
- package/src/core/find-payload.ts +915 -0
- package/src/core/generate-markdown.ts +120 -0
- package/src/core/path-context.ts +196 -0
- package/src/core/pi-notify.ts +430 -0
- package/src/core/pi-usereq-tools.ts +140 -0
- package/src/core/prompts.ts +184 -0
- package/src/core/reference-payload.ts +818 -0
- package/src/core/resources.ts +63 -0
- package/src/core/runtime-project-paths.ts +99 -0
- package/src/core/settings-menu.ts +233 -0
- package/src/core/source-analyzer.ts +1721 -0
- package/src/core/static-check.ts +674 -0
- package/src/core/token-counter.ts +729 -0
- package/src/core/tool-runner.ts +717 -0
- package/src/core/utils.ts +185 -0
- package/src/index.ts +2209 -0
- package/src/resources/guidelines/Google_C++_Style_Guide.md +3711 -0
- package/src/resources/guidelines/Google_Python_Style_Guide.md +3709 -0
- package/src/resources/prompts/analyze.md +130 -0
- package/src/resources/prompts/change.md +227 -0
- package/src/resources/prompts/check.md +139 -0
- package/src/resources/prompts/cover.md +219 -0
- package/src/resources/prompts/create.md +104 -0
- package/src/resources/prompts/fix.md +221 -0
- package/src/resources/prompts/flowchart.md +220 -0
- package/src/resources/prompts/implement.md +163 -0
- package/src/resources/prompts/new.md +226 -0
- package/src/resources/prompts/readme.md +182 -0
- package/src/resources/prompts/recreate.md +213 -0
- package/src/resources/prompts/refactor.md +213 -0
- package/src/resources/prompts/references.md +100 -0
- package/src/resources/prompts/renumber.md +119 -0
- package/src/resources/prompts/workflow.md +202 -0
- package/src/resources/prompts/write.md +99 -0
- package/src/resources/sounds/Machine-alert-beep-sound-effect.mp3 +0 -0
- package/src/resources/sounds/Soft-high-tech-notification-sound-effect.mp3 +0 -0
- package/src/resources/templates/Document_Source_Code_in_Doxygen_Style.md +130 -0
- package/src/resources/templates/HDT_Test_Authoring_Guide.md +318 -0
- package/src/resources/templates/Requirements_Template.md +78 -0
- package/tests/attended-results-scenarios.ts +758 -0
- package/tests/attended-results.test.ts +39 -0
- package/tests/cli-command-option-parity.test.ts +815 -0
- package/tests/debug-extension-harness.test.ts +463 -0
- package/tests/extension-registration.test.ts +2006 -0
- package/tests/fixtures/fixture_c.c +361 -0
- package/tests/fixtures/fixture_cpp.cpp +407 -0
- package/tests/fixtures/fixture_csharp.cs +411 -0
- package/tests/fixtures/fixture_elixir.ex +409 -0
- package/tests/fixtures/fixture_go.go +341 -0
- package/tests/fixtures/fixture_haskell.hs +250 -0
- package/tests/fixtures/fixture_java.java +430 -0
- package/tests/fixtures/fixture_javascript.js +383 -0
- package/tests/fixtures/fixture_kotlin.kt +451 -0
- package/tests/fixtures/fixture_lua.lua +276 -0
- package/tests/fixtures/fixture_perl.pl +310 -0
- package/tests/fixtures/fixture_php.php +433 -0
- package/tests/fixtures/fixture_python.py +502 -0
- package/tests/fixtures/fixture_ruby.rb +345 -0
- package/tests/fixtures/fixture_rust.rs +380 -0
- package/tests/fixtures/fixture_scala.scala +398 -0
- package/tests/fixtures/fixture_shell.sh +276 -0
- package/tests/fixtures/fixture_swift.swift +397 -0
- package/tests/fixtures/fixture_typescript.ts +434 -0
- package/tests/fixtures/fixture_zig.zig +295 -0
- package/tests/fixtures_attended_results/project/compress-line-numbers.json +5 -0
- package/tests/fixtures_attended_results/project/compress.json +5 -0
- package/tests/fixtures_attended_results/project/enable-static-check-invalid-command.json +5 -0
- package/tests/fixtures_attended_results/project/enable-static-check-valid.json +5 -0
- package/tests/fixtures_attended_results/project/files-static-check.json +5 -0
- package/tests/fixtures_attended_results/project/find-line-numbers.json +5 -0
- package/tests/fixtures_attended_results/project/find.json +5 -0
- package/tests/fixtures_attended_results/project/get-base-path.json +5 -0
- package/tests/fixtures_attended_results/project/git-check-clean.json +5 -0
- package/tests/fixtures_attended_results/project/git-check-dirty.json +5 -0
- package/tests/fixtures_attended_results/project/git-path.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-create-invalid.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-create-valid.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-delete-nonexistent.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-delete-valid.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-name.json +5 -0
- package/tests/fixtures_attended_results/project/references.json +5 -0
- package/tests/fixtures_attended_results/project/static-check.json +5 -0
- package/tests/fixtures_attended_results/project/tokens.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_zig.zig.json +5 -0
- package/tests/helpers.ts +204 -0
- package/tests/oracle-project.test.ts +63 -0
- package/tests/oracle-standalone.test.ts +48 -0
- package/tests/prompt-rendering.test.ts +66 -0
- package/tests/release-workflow.test.ts +133 -0
package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_elixir.ex.json
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"code": 1,
|
|
3
|
+
"stdout": "# Static-Check(Ruff): <ROOT>/tests/fixtures/fixture_elixir.ex\nResult: FAIL\nEvidence:\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:10:11\n |\n 8 | # ── Main module ───────────────────────────────────────────────────────\n 9 |\n10 | defmodule MyApp.Server do\n | ^^^^^\n11 | @moduledoc \"\"\"\n12 | GenServer implementation for managing application state.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:10:24\n |\n 8 | # ── Main module ───────────────────────────────────────────────────────\n 9 |\n10 | defmodule MyApp.Server do\n | ^^\n11 | @moduledoc \"\"\"\n12 | GenServer implementation for managing application state.\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:11:1\n |\n10 | defmodule MyApp.Server do\n11 | @moduledoc \"\"\"\n | ^^\n12 | GenServer implementation for managing application state.\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:11:14\n |\n10 | defmodule MyApp.Server do\n11 | @moduledoc \"\"\"\n | ______________^\n12 | | GenServer implementation for managing application state.\n13 | |\n14 | | Handles synchronous calls, asynchronous casts, and info messages.\n15 | | Supports state initialization with validated options.\n16 | | \"\"\"\n | |_____^\n17 |\n18 | use GenServer\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:18:7\n |\n16 | \"\"\"\n17 |\n18 | use GenServer\n | ^^^^^^^^^\n19 | import Enum\n20 | alias MyApp.Config\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:20:9\n |\n18 | use GenServer\n19 | import Enum\n20 | alias MyApp.Config\n | ^^^^^\n21 | alias MyApp.Server.State\n22 | require Logger\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:21:9\n |\n19 | import Enum\n20 | alias MyApp.Config\n21 | alias MyApp.Server.State\n | ^^^^^\n22 | require Logger\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:22:11\n |\n20 | alias MyApp.Config\n21 | alias MyApp.Server.State\n22 | require Logger\n | ^^^^^^\n23 |\n24 | @behaviour GenServer\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:24:14\n |\n22 | require Logger\n23 |\n24 | @behaviour GenServer\n | ^^^^^^^^^\n25 |\n26 | # ── Constants ───────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected newline, found int\n --> tests/fixtures/fixture_elixir.ex:29:20\n |\n28 | # @brief Default timeout for GenServer calls in milliseconds.\n29 | @default_timeout 5_000\n | ^^^^^\n30 |\n31 | # @brief Maximum items stored in server state.\n |\n\ninvalid-syntax: Expected newline, found int\n --> tests/fixtures/fixture_elixir.ex:32:14\n |\n31 | # @brief Maximum items stored in server state.\n32 | @max_items 1_000\n | ^^^^^\n33 |\n34 | # ── Struct ──────────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:36:8\n |\n34 | # ── Struct ──────────────────────────────────────────────────────────\n35 |\n36 | @doc \"\"\"\n | ________^\n37 | | Internal state struct for the server.\n38 | |\n39 | | @field name Server instance name.\n40 | | @field port Listening port number.\n41 | | @field items List of stored items.\n42 | | @field started_at Timestamp of server start.\n43 | | \"\"\"\n | |_____^\n44 | defstruct [:name, :port, items: [], started_at: nil]\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:48:9\n |\n46 | # ── Typespecs ───────────────────────────────────────────────────────\n47 |\n48 | @type t :: %__MODULE__{\n | ^\n49 | name: String.t(),\n50 | port: non_neg_integer(),\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:48:12\n |\n46 | # ── Typespecs ───────────────────────────────────────────────────────\n47 |\n48 | @type t :: %__MODULE__{\n | ^\n49 | name: String.t(),\n50 | port: non_neg_integer(),\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:48:14\n |\n46 | # ── Typespecs ───────────────────────────────────────────────────────\n47 |\n48 | @type t :: %__MODULE__{\n | ^\n49 | name: String.t(),\n50 | port: non_neg_integer(),\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:48:25\n |\n46 | # ── Typespecs ───────────────────────────────────────────────────────\n47 |\n48 | @type t :: %__MODULE__{\n | ^\n49 | name: String.t(),\n50 | port: non_neg_integer(),\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:55:9\n |\n53 | }\n54 |\n55 | @type option :: {:name, String.t()} | {:port, non_neg_integer()}\n | ^^^^^^\n56 |\n57 | # ── Public API ──────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:55:17\n |\n53 | }\n54 |\n55 | @type option :: {:name, String.t()} | {:port, non_neg_integer()}\n | ^\n56 |\n57 | # ── Public API ──────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:55:20\n |\n53 | }\n54 |\n55 | @type option :: {:name, String.t()} | {:port, non_neg_integer()}\n | ^\n56 |\n57 | # ── Public API ──────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:55:37\n |\n53 | }\n54 |\n55 | @type option :: {:name, String.t()} | {:port, non_neg_integer()}\n | ^\n56 |\n57 | # ── Public API ──────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:55:42\n |\n53 | }\n54 |\n55 | @type option :: {:name, String.t()} | {:port, non_neg_integer()}\n | ^\n56 |\n57 | # ── Public API ──────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:55:66\n |\n53 | }\n54 |\n55 | @type option :: {:name, String.t()} | {:port, non_neg_integer()}\n | ^\n56 |\n57 | # ── Public API ──────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:59:8\n |\n57 | # ── Public API ──────────────────────────────────────────────────────\n58 |\n59 | @doc \"\"\"\n | ________^\n60 | | Start a new server process linked to the caller.\n61 | |\n62 | | @param opts Keyword list of options (:name, :port).\n63 | | @return {:ok, pid} on success or {:error, reason} on failure.\n64 | | \"\"\"\n | |_____^\n65 | @spec start_link(keyword()) :: GenServer.on_start()\n66 | def start_link(opts) do\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:65:9\n |\n63 | @return {:ok, pid} on success or {:error, reason} on failure.\n64 | \"\"\"\n65 | @spec start_link(keyword()) :: GenServer.on_start()\n | ^^^^^^^^^^\n66 | def start_link(opts) do\n67 | name = Keyword.get(opts, :name, \"default\")\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:65:32\n |\n63 | @return {:ok, pid} on success or {:error, reason} on failure.\n64 | \"\"\"\n65 | @spec start_link(keyword()) :: GenServer.on_start()\n | ^\n66 | def start_link(opts) do\n67 | name = Keyword.get(opts, :name, \"default\")\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:66:24\n |\n64 | \"\"\"\n65 | @spec start_link(keyword()) :: GenServer.on_start()\n66 | def start_link(opts) do\n | ^^\n67 | name = Keyword.get(opts, :name, \"default\")\n68 | GenServer.start_link(__MODULE__, opts, name: via_tuple(name))\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:67:1\n |\n65 | @spec start_link(keyword()) :: GenServer.on_start()\n66 | def start_link(opts) do\n67 | name = Keyword.get(opts, :name, \"default\")\n | ^^^^\n68 | GenServer.start_link(__MODULE__, opts, name: via_tuple(name))\n69 | end\n |\n\ninvalid-syntax: Expected `,`, found `:`\n --> tests/fixtures/fixture_elixir.ex:67:30\n |\n65 | @spec start_link(keyword()) :: GenServer.on_start()\n66 | def start_link(opts) do\n67 | name = Keyword.get(opts, :name, \"default\")\n | ^\n68 | GenServer.start_link(__MODULE__, opts, name: via_tuple(name))\n69 | end\n |\n\ninvalid-syntax: Expected `,`, found `:`\n --> tests/fixtures/fixture_elixir.ex:68:48\n |\n66 | def start_link(opts) do\n67 | name = Keyword.get(opts, :name, \"default\")\n68 | GenServer.start_link(__MODULE__, opts, name: via_tuple(name))\n | ^\n69 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:69:3\n |\n67 | name = Keyword.get(opts, :name, \"default\")\n68 | GenServer.start_link(__MODULE__, opts, name: via_tuple(name))\n69 | end\n | ^\n70 |\n71 | @doc \"\"\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:71:8\n |\n69 | end\n70 |\n71 | @doc \"\"\"\n | ________^\n72 | | Add an item to the server's collection.\n73 | |\n74 | | @param server The server PID or registered name.\n75 | | @param item The item to store.\n76 | | @return :ok\n77 | | \"\"\"\n | |_____^\n78 | @spec add_item(GenServer.server(), any()) :: :ok\n79 | def add_item(server, item) do\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:78:9\n |\n76 | @return :ok\n77 | \"\"\"\n78 | @spec add_item(GenServer.server(), any()) :: :ok\n | ^^^^^^^^\n79 | def add_item(server, item) do\n80 | GenServer.call(server, {:add_item, item})\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:78:46\n |\n76 | @return :ok\n77 | \"\"\"\n78 | @spec add_item(GenServer.server(), any()) :: :ok\n | ^\n79 | def add_item(server, item) do\n80 | GenServer.call(server, {:add_item, item})\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:78:48\n |\n76 | @return :ok\n77 | \"\"\"\n78 | @spec add_item(GenServer.server(), any()) :: :ok\n | ^\n79 | def add_item(server, item) do\n80 | GenServer.call(server, {:add_item, item})\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:79:30\n |\n77 | \"\"\"\n78 | @spec add_item(GenServer.server(), any()) :: :ok\n79 | def add_item(server, item) do\n | ^^\n80 | GenServer.call(server, {:add_item, item})\n81 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:80:1\n |\n78 | @spec add_item(GenServer.server(), any()) :: :ok\n79 | def add_item(server, item) do\n80 | GenServer.call(server, {:add_item, item})\n | ^^^^\n81 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:80:29\n |\n78 | @spec add_item(GenServer.server(), any()) :: :ok\n79 | def add_item(server, item) do\n80 | GenServer.call(server, {:add_item, item})\n | ^\n81 | end\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:80:44\n |\n78 | @spec add_item(GenServer.server(), any()) :: :ok\n79 | def add_item(server, item) do\n80 | GenServer.call(server, {:add_item, item})\n | ^\n81 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:81:3\n |\n79 | def add_item(server, item) do\n80 | GenServer.call(server, {:add_item, item})\n81 | end\n | ^\n82 |\n83 | @doc \"\"\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:83:8\n |\n81 | end\n82 |\n83 | @doc \"\"\"\n | ________^\n84 | | Retrieve all stored items.\n85 | |\n86 | | @param server The server PID or registered name.\n87 | | @return List of stored items.\n88 | | \"\"\"\n | |_____^\n89 | @spec get_items(GenServer.server()) :: list(any())\n90 | def get_items(server) do\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:89:9\n |\n87 | @return List of stored items.\n88 | \"\"\"\n89 | @spec get_items(GenServer.server()) :: list(any())\n | ^^^^^^^^^\n90 | def get_items(server) do\n91 | GenServer.call(server, :get_items)\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:89:40\n |\n87 | @return List of stored items.\n88 | \"\"\"\n89 | @spec get_items(GenServer.server()) :: list(any())\n | ^\n90 | def get_items(server) do\n91 | GenServer.call(server, :get_items)\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:90:25\n |\n88 | \"\"\"\n89 | @spec get_items(GenServer.server()) :: list(any())\n90 | def get_items(server) do\n | ^^\n91 | GenServer.call(server, :get_items)\n92 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:91:1\n |\n89 | @spec get_items(GenServer.server()) :: list(any())\n90 | def get_items(server) do\n91 | GenServer.call(server, :get_items)\n | ^^^^\n92 | end\n |\n\ninvalid-syntax: Expected `,`, found `:`\n --> tests/fixtures/fixture_elixir.ex:91:28\n |\n89 | @spec get_items(GenServer.server()) :: list(any())\n90 | def get_items(server) do\n91 | GenServer.call(server, :get_items)\n | ^\n92 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:92:3\n |\n90 | def get_items(server) do\n91 | GenServer.call(server, :get_items)\n92 | end\n | ^\n93 |\n94 | @doc \"\"\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:94:8\n |\n 92 | end\n 93 |\n 94 | @doc \"\"\"\n | ________^\n 95 | | Asynchronously notify the server of an event.\n 96 | |\n 97 | | @param server The server PID.\n 98 | | @param event The event data to process.\n 99 | | @return :ok\n100 | | \"\"\"\n | |_____^\n101 | @spec notify(GenServer.server(), any()) :: :ok\n102 | def notify(server, event) do\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:101:9\n |\n 99 | @return :ok\n100 | \"\"\"\n101 | @spec notify(GenServer.server(), any()) :: :ok\n | ^^^^^^\n102 | def notify(server, event) do\n103 | GenServer.cast(server, {:notify, event})\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:101:44\n |\n 99 | @return :ok\n100 | \"\"\"\n101 | @spec notify(GenServer.server(), any()) :: :ok\n | ^\n102 | def notify(server, event) do\n103 | GenServer.cast(server, {:notify, event})\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:101:46\n |\n 99 | @return :ok\n100 | \"\"\"\n101 | @spec notify(GenServer.server(), any()) :: :ok\n | ^\n102 | def notify(server, event) do\n103 | GenServer.cast(server, {:notify, event})\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:102:29\n |\n100 | \"\"\"\n101 | @spec notify(GenServer.server(), any()) :: :ok\n102 | def notify(server, event) do\n | ^^\n103 | GenServer.cast(server, {:notify, event})\n104 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:103:1\n |\n101 | @spec notify(GenServer.server(), any()) :: :ok\n102 | def notify(server, event) do\n103 | GenServer.cast(server, {:notify, event})\n | ^^^^\n104 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:103:29\n |\n101 | @spec notify(GenServer.server(), any()) :: :ok\n102 | def notify(server, event) do\n103 | GenServer.cast(server, {:notify, event})\n | ^\n104 | end\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:103:43\n |\n101 | @spec notify(GenServer.server(), any()) :: :ok\n102 | def notify(server, event) do\n103 | GenServer.cast(server, {:notify, event})\n | ^\n104 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:104:3\n |\n102 | def notify(server, event) do\n103 | GenServer.cast(server, {:notify, event})\n104 | end\n | ^\n105 |\n106 | # ── Private helpers ─────────────────────────────────────────────────\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:111:8\n |\n109 | # @param name The server name.\n110 | # @return Via-tuple for Registry lookup.\n111 | defp via_tuple(name) do\n | ^^^^^^^^^\n112 | {:via, Registry, {MyApp.Registry, name}}\n113 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:111:24\n |\n109 | # @param name The server name.\n110 | # @return Via-tuple for Registry lookup.\n111 | defp via_tuple(name) do\n | ^^\n112 | {:via, Registry, {MyApp.Registry, name}}\n113 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:112:1\n |\n110 | # @return Via-tuple for Registry lookup.\n111 | defp via_tuple(name) do\n112 | {:via, Registry, {MyApp.Registry, name}}\n | ^^^^\n113 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:112:6\n |\n110 | # @return Via-tuple for Registry lookup.\n111 | defp via_tuple(name) do\n112 | {:via, Registry, {MyApp.Registry, name}}\n | ^\n113 | end\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:112:20\n |\n110 | # @return Via-tuple for Registry lookup.\n111 | defp via_tuple(name) do\n112 | {:via, Registry, {MyApp.Registry, name}}\n | ^\n113 | end\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:112:44\n |\n110 | # @return Via-tuple for Registry lookup.\n111 | defp via_tuple(name) do\n112 | {:via, Registry, {MyApp.Registry, name}}\n | ^\n113 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:113:3\n |\n111 | defp via_tuple(name) do\n112 | {:via, Registry, {MyApp.Registry, name}}\n113 | end\n | ^\n114 |\n115 | # ── GenServer callbacks ─────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:117:9\n |\n115 | # ── GenServer callbacks ─────────────────────────────────────────────\n116 |\n117 | @impl true\n | ^^^^\n118 | def init(opts) do\n119 | # Validate required options\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:118:18\n |\n117 | @impl true\n118 | def init(opts) do\n | ^^\n119 | # Validate required options\n120 | name = Keyword.fetch!(opts, :name)\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:120:1\n |\n118 | def init(opts) do\n119 | # Validate required options\n120 | name = Keyword.fetch!(opts, :name)\n | ^^^^\n121 | port = Keyword.get(opts, :port, 4000)\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:120:25\n |\n118 | def init(opts) do\n119 | # Validate required options\n120 | name = Keyword.fetch!(opts, :name)\n | ^\n121 | port = Keyword.get(opts, :port, 4000)\n |\n\ninvalid-syntax: Expected an expression or a ')'\n --> tests/fixtures/fixture_elixir.ex:120:33\n |\n118 | def init(opts) do\n119 | # Validate required options\n120 | name = Keyword.fetch!(opts, :name)\n | ^\n121 | port = Keyword.get(opts, :port, 4000)\n |\n\ninvalid-syntax: Expected `,`, found `:`\n --> tests/fixtures/fixture_elixir.ex:121:30\n |\n119 | # Validate required options\n120 | name = Keyword.fetch!(opts, :name)\n121 | port = Keyword.get(opts, :port, 4000)\n | ^\n122 |\n123 | state = %__MODULE__{\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:123:13\n |\n121 | port = Keyword.get(opts, :port, 4000)\n122 |\n123 | state = %__MODULE__{\n | ^\n124 | name: name,\n125 | port: port,\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:123:24\n |\n121 | port = Keyword.get(opts, :port, 4000)\n122 |\n123 | state = %__MODULE__{\n | ^\n124 | name: name,\n125 | port: port,\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:130:6\n |\n129 | Logger.info(\"Server #{name} started on port #{port}\")\n130 | {:ok, state}\n | ^\n131 | end\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:130:16\n |\n129 | Logger.info(\"Server #{name} started on port #{port}\")\n130 | {:ok, state}\n | ^\n131 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:131:3\n |\n129 | Logger.info(\"Server #{name} started on port #{port}\")\n130 | {:ok, state}\n131 | end\n | ^\n132 |\n133 | @impl true\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:133:9\n |\n131 | end\n132 |\n133 | @impl true\n | ^^^^\n134 | def handle_call({:add_item, item}, _from, state) do\n135 | # Check capacity before adding\n |\n\ninvalid-syntax: Expected `)`, found `{`\n --> tests/fixtures/fixture_elixir.ex:134:19\n |\n133 | @impl true\n134 | def handle_call({:add_item, item}, _from, state) do\n | ^\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:134:20\n |\n133 | @impl true\n134 | def handle_call({:add_item, item}, _from, state) do\n | ^\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:134:35\n |\n133 | @impl true\n134 | def handle_call({:add_item, item}, _from, state) do\n | ^\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n |\n\ninvalid-syntax: Expected newline, found `)`\n --> tests/fixtures/fixture_elixir.ex:134:50\n |\n133 | @impl true\n134 | def handle_call({:add_item, item}, _from, state) do\n | ^\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:136:1\n |\n134 | def handle_call({:add_item, item}, _from, state) do\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n | ^^^^\n137 | {:reply, {:error, :capacity_exceeded}, state}\n138 | else\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:136:31\n |\n134 | def handle_call({:add_item, item}, _from, state) do\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n | ^\n137 | {:reply, {:error, :capacity_exceeded}, state}\n138 | else\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:136:42\n |\n134 | def handle_call({:add_item, item}, _from, state) do\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n | ^^\n137 | {:reply, {:error, :capacity_exceeded}, state}\n138 | else\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:137:1\n |\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n137 | {:reply, {:error, :capacity_exceeded}, state}\n | ^^^^^^\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:137:8\n |\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n137 | {:reply, {:error, :capacity_exceeded}, state}\n | ^\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:137:17\n |\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n137 | {:reply, {:error, :capacity_exceeded}, state}\n | ^\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_elixir.ex:137:25\n |\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n137 | {:reply, {:error, :capacity_exceeded}, state}\n | ^\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:137:43\n |\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n137 | {:reply, {:error, :capacity_exceeded}, state}\n | ^\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:137:44\n |\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n137 | {:reply, {:error, :capacity_exceeded}, state}\n | ^\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:137:51\n |\n135 | # Check capacity before adding\n136 | if length(state.items) >= @max_items do\n137 | {:reply, {:error, :capacity_exceeded}, state}\n | ^\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:138:5\n |\n136 | if length(state.items) >= @max_items do\n137 | {:reply, {:error, :capacity_exceeded}, state}\n138 | else\n | ^\n139 | new_state = %{state | items: [item | state.items]}\n140 | {:reply, :ok, new_state}\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:138:9\n |\n136 | if length(state.items) >= @max_items do\n137 | {:reply, {:error, :capacity_exceeded}, state}\n138 | else\n | ^\n139 | new_state = %{state | items: [item | state.items]}\n140 | {:reply, :ok, new_state}\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:139:1\n |\n137 | {:reply, {:error, :capacity_exceeded}, state}\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n | ^^^^^^\n140 | {:reply, :ok, new_state}\n141 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:139:19\n |\n137 | {:reply, {:error, :capacity_exceeded}, state}\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n | ^\n140 | {:reply, :ok, new_state}\n141 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:140:8\n |\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n140 | {:reply, :ok, new_state}\n | ^\n141 | end\n142 | end\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_elixir.ex:140:16\n |\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n140 | {:reply, :ok, new_state}\n | ^\n141 | end\n142 | end\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:140:19\n |\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n140 | {:reply, :ok, new_state}\n | ^\n141 | end\n142 | end\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:140:30\n |\n138 | else\n139 | new_state = %{state | items: [item | state.items]}\n140 | {:reply, :ok, new_state}\n | ^\n141 | end\n142 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:141:5\n |\n139 | new_state = %{state | items: [item | state.items]}\n140 | {:reply, :ok, new_state}\n141 | end\n | ^\n142 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:142:3\n |\n140 | {:reply, :ok, new_state}\n141 | end\n142 | end\n | ^\n143 |\n144 | @impl true\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:144:9\n |\n142 | end\n143 |\n144 | @impl true\n | ^^^^\n145 | def handle_call(:get_items, _from, state) do\n146 | {:reply, Enum.reverse(state.items), state}\n |\n\ninvalid-syntax: Expected a parameter or the end of the parameter list\n --> tests/fixtures/fixture_elixir.ex:145:19\n |\n144 | @impl true\n145 | def handle_call(:get_items, _from, state) do\n | ^\n146 | {:reply, Enum.reverse(state.items), state}\n147 | end\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:145:45\n |\n144 | @impl true\n145 | def handle_call(:get_items, _from, state) do\n | ^^\n146 | {:reply, Enum.reverse(state.items), state}\n147 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:146:1\n |\n144 | @impl true\n145 | def handle_call(:get_items, _from, state) do\n146 | {:reply, Enum.reverse(state.items), state}\n | ^^^^\n147 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:146:6\n |\n144 | @impl true\n145 | def handle_call(:get_items, _from, state) do\n146 | {:reply, Enum.reverse(state.items), state}\n | ^\n147 | end\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:146:39\n |\n144 | @impl true\n145 | def handle_call(:get_items, _from, state) do\n146 | {:reply, Enum.reverse(state.items), state}\n | ^\n147 | end\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:146:46\n |\n144 | @impl true\n145 | def handle_call(:get_items, _from, state) do\n146 | {:reply, Enum.reverse(state.items), state}\n | ^\n147 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:147:3\n |\n145 | def handle_call(:get_items, _from, state) do\n146 | {:reply, Enum.reverse(state.items), state}\n147 | end\n | ^\n148 |\n149 | @impl true\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:149:9\n |\n147 | end\n148 |\n149 | @impl true\n | ^^^^\n150 | def handle_cast({:notify, event}, state) do\n151 | Logger.debug(\"Received event: #{inspect(event)}\")\n |\n\ninvalid-syntax: Expected `)`, found `{`\n --> tests/fixtures/fixture_elixir.ex:150:19\n |\n149 | @impl true\n150 | def handle_cast({:notify, event}, state) do\n | ^\n151 | Logger.debug(\"Received event: #{inspect(event)}\")\n152 | {:noreply, state}\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:150:20\n |\n149 | @impl true\n150 | def handle_cast({:notify, event}, state) do\n | ^\n151 | Logger.debug(\"Received event: #{inspect(event)}\")\n152 | {:noreply, state}\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:150:34\n |\n149 | @impl true\n150 | def handle_cast({:notify, event}, state) do\n | ^\n151 | Logger.debug(\"Received event: #{inspect(event)}\")\n152 | {:noreply, state}\n |\n\ninvalid-syntax: Expected newline, found `)`\n --> tests/fixtures/fixture_elixir.ex:150:42\n |\n149 | @impl true\n150 | def handle_cast({:notify, event}, state) do\n | ^\n151 | Logger.debug(\"Received event: #{inspect(event)}\")\n152 | {:noreply, state}\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:151:1\n |\n149 | @impl true\n150 | def handle_cast({:notify, event}, state) do\n151 | Logger.debug(\"Received event: #{inspect(event)}\")\n | ^^^^\n152 | {:noreply, state}\n153 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:152:6\n |\n150 | def handle_cast({:notify, event}, state) do\n151 | Logger.debug(\"Received event: #{inspect(event)}\")\n152 | {:noreply, state}\n | ^\n153 | end\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:152:21\n |\n150 | def handle_cast({:notify, event}, state) do\n151 | Logger.debug(\"Received event: #{inspect(event)}\")\n152 | {:noreply, state}\n | ^\n153 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:153:3\n |\n151 | Logger.debug(\"Received event: #{inspect(event)}\")\n152 | {:noreply, state}\n153 | end\n | ^\n154 |\n155 | @impl true\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:155:9\n |\n153 | end\n154 |\n155 | @impl true\n | ^^^^\n156 | def handle_info(:timeout, state) do\n157 | Logger.warn(\"Server #{state.name} timed out\")\n |\n\ninvalid-syntax: Expected a parameter or the end of the parameter list\n --> tests/fixtures/fixture_elixir.ex:156:19\n |\n155 | @impl true\n156 | def handle_info(:timeout, state) do\n | ^\n157 | Logger.warn(\"Server #{state.name} timed out\")\n158 | {:noreply, state}\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:156:36\n |\n155 | @impl true\n156 | def handle_info(:timeout, state) do\n | ^^\n157 | Logger.warn(\"Server #{state.name} timed out\")\n158 | {:noreply, state}\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:157:1\n |\n155 | @impl true\n156 | def handle_info(:timeout, state) do\n157 | Logger.warn(\"Server #{state.name} timed out\")\n | ^^^^\n158 | {:noreply, state}\n159 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:158:6\n |\n156 | def handle_info(:timeout, state) do\n157 | Logger.warn(\"Server #{state.name} timed out\")\n158 | {:noreply, state}\n | ^\n159 | end\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:158:21\n |\n156 | def handle_info(:timeout, state) do\n157 | Logger.warn(\"Server #{state.name} timed out\")\n158 | {:noreply, state}\n | ^\n159 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:159:3\n |\n157 | Logger.warn(\"Server #{state.name} timed out\")\n158 | {:noreply, state}\n159 | end\n | ^\n160 |\n161 | # @brief Handle internal state cleanup and maintenance.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:164:8\n |\n162 | # @param state Current server state.\n163 | # @return Updated state with pruned items.\n164 | defp handle_internal(state) do\n | ^^^^^^^^^^^^^^^\n165 | # Prune items exceeding max capacity\n166 | pruned = Enum.take(state.items, @max_items)\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:164:31\n |\n162 | # @param state Current server state.\n163 | # @return Updated state with pruned items.\n164 | defp handle_internal(state) do\n | ^^\n165 | # Prune items exceeding max capacity\n166 | pruned = Enum.take(state.items, @max_items)\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:166:1\n |\n164 | defp handle_internal(state) do\n165 | # Prune items exceeding max capacity\n166 | pruned = Enum.take(state.items, @max_items)\n | ^^^^\n167 | %{state | items: pruned}\n168 | end\n |\n\ninvalid-syntax: Expected `)`, found `@`\n --> tests/fixtures/fixture_elixir.ex:166:37\n |\n164 | defp handle_internal(state) do\n165 | # Prune items exceeding max capacity\n166 | pruned = Enum.take(state.items, @max_items)\n | ^\n167 | %{state | items: pruned}\n168 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:166:47\n |\n164 | defp handle_internal(state) do\n165 | # Prune items exceeding max capacity\n166 | pruned = Enum.take(state.items, @max_items)\n | ^\n167 | %{state | items: pruned}\n168 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:166:48\n |\n164 | defp handle_internal(state) do\n165 | # Prune items exceeding max capacity\n166 | pruned = Enum.take(state.items, @max_items)\n | ^\n167 | %{state | items: pruned}\n168 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:167:5\n |\n165 | # Prune items exceeding max capacity\n166 | pruned = Enum.take(state.items, @max_items)\n167 | %{state | items: pruned}\n | ^\n168 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:168:3\n |\n166 | pruned = Enum.take(state.items, @max_items)\n167 | %{state | items: pruned}\n168 | end\n | ^\n169 |\n170 | @doc \"\"\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:170:8\n |\n168 | end\n169 |\n170 | @doc \"\"\"\n | ________^\n171 | | Define a macro for compile-time code generation.\n172 | |\n173 | | @param expr The expression to wrap.\n174 | | @return Quoted AST wrapping the expression.\n175 | | \"\"\"\n | |_____^\n176 | defmacro my_macro(expr) do\n177 | quote do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:176:12\n |\n174 | @return Quoted AST wrapping the expression.\n175 | \"\"\"\n176 | defmacro my_macro(expr) do\n | ^^^^^^^^\n177 | quote do\n178 | result = unquote(expr)\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:176:27\n |\n174 | @return Quoted AST wrapping the expression.\n175 | \"\"\"\n176 | defmacro my_macro(expr) do\n | ^^\n177 | quote do\n178 | result = unquote(expr)\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:177:1\n |\n175 | \"\"\"\n176 | defmacro my_macro(expr) do\n177 | quote do\n | ^^^^\n178 | result = unquote(expr)\n179 | Logger.debug(\"Macro result: #{inspect(result)}\")\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:177:11\n |\n175 | \"\"\"\n176 | defmacro my_macro(expr) do\n177 | quote do\n | ^^\n178 | result = unquote(expr)\n179 | Logger.debug(\"Macro result: #{inspect(result)}\")\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:178:1\n |\n176 | defmacro my_macro(expr) do\n177 | quote do\n178 | result = unquote(expr)\n | ^^^^^^\n179 | Logger.debug(\"Macro result: #{inspect(result)}\")\n180 | result\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:181:5\n |\n179 | Logger.debug(\"Macro result: #{inspect(result)}\")\n180 | result\n181 | end\n | ^\n182 | end\n183 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:182:3\n |\n180 | result\n181 | end\n182 | end\n | ^\n183 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:183:1\n |\n181 | end\n182 | end\n183 | end\n | ^\n184 |\n185 | # ── Protocol ──────────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:187:13\n |\n185 | # ── Protocol ──────────────────────────────────────────────────────────\n186 |\n187 | defprotocol Printable do\n | ^^^^^^^^^\n188 | @moduledoc \"\"\"\n189 | Protocol for types that can be printed as formatted strings.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:187:23\n |\n185 | # ── Protocol ──────────────────────────────────────────────────────────\n186 |\n187 | defprotocol Printable do\n | ^^\n188 | @moduledoc \"\"\"\n189 | Protocol for types that can be printed as formatted strings.\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:188:1\n |\n187 | defprotocol Printable do\n188 | @moduledoc \"\"\"\n | ^^\n189 | Protocol for types that can be printed as formatted strings.\n190 | \"\"\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:188:14\n |\n187 | defprotocol Printable do\n188 | @moduledoc \"\"\"\n | ______________^\n189 | | Protocol for types that can be printed as formatted strings.\n190 | | \"\"\"\n | |_____^\n191 |\n192 | @doc \"\"\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:192:8\n |\n190 | \"\"\"\n191 |\n192 | @doc \"\"\"\n | ________^\n193 | | Convert a value to its formatted string representation.\n194 | |\n195 | | @param data The value to format.\n196 | | @return Formatted string.\n197 | | \"\"\"\n | |_____^\n198 | @spec print(t) :: String.t()\n199 | def print(data)\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:198:9\n |\n196 | @return Formatted string.\n197 | \"\"\"\n198 | @spec print(t) :: String.t()\n | ^^^^^\n199 | def print(data)\n200 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:198:19\n |\n196 | @return Formatted string.\n197 | \"\"\"\n198 | @spec print(t) :: String.t()\n | ^\n199 | def print(data)\n200 | end\n |\n\ninvalid-syntax: Expected `:`, found newline\n --> tests/fixtures/fixture_elixir.ex:199:18\n |\n197 | \"\"\"\n198 | @spec print(t) :: String.t()\n199 | def print(data)\n | ^\n200 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:200:1\n |\n198 | @spec print(t) :: String.t()\n199 | def print(data)\n200 | end\n | ^\n201 |\n202 | # ── Protocol implementation ───────────────────────────────────────────\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:204:9\n |\n202 | # ── Protocol implementation ───────────────────────────────────────────\n203 |\n204 | defimpl Printable, for: MyApp.Server do\n | ^^^^^^^^^\n205 | @doc \"\"\"\n206 | Format a server struct for display.\n |\n\ninvalid-syntax: Compound statements are not allowed on the same line as simple statements\n --> tests/fixtures/fixture_elixir.ex:204:20\n |\n202 | # ── Protocol implementation ───────────────────────────────────────────\n203 |\n204 | defimpl Printable, for: MyApp.Server do\n | ^^^\n205 | @doc \"\"\"\n206 | Format a server struct for display.\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:204:23\n |\n202 | # ── Protocol implementation ───────────────────────────────────────────\n203 |\n204 | defimpl Printable, for: MyApp.Server do\n | ^\n205 | @doc \"\"\"\n206 | Format a server struct for display.\n |\n\nE701 Multiple statements on one line (colon)\n --> tests/fixtures/fixture_elixir.ex:204:23\n |\n202 | # ── Protocol implementation ───────────────────────────────────────────\n203 |\n204 | defimpl Printable, for: MyApp.Server do\n | ^\n205 | @doc \"\"\"\n206 | Format a server struct for display.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:204:38\n |\n202 | # ── Protocol implementation ───────────────────────────────────────────\n203 |\n204 | defimpl Printable, for: MyApp.Server do\n | ^^\n205 | @doc \"\"\"\n206 | Format a server struct for display.\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:205:1\n |\n204 | defimpl Printable, for: MyApp.Server do\n205 | @doc \"\"\"\n | ^^\n206 | Format a server struct for display.\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:205:8\n |\n204 | defimpl Printable, for: MyApp.Server do\n205 | @doc \"\"\"\n | ________^\n206 | | Format a server struct for display.\n207 | |\n208 | | @param server The server struct to format.\n209 | | @return String in format \"Server(name:port)\".\n210 | | \"\"\"\n | |_____^\n211 | def print(server) do\n212 | \"Server(#{server.name}:#{server.port})\"\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:211:21\n |\n209 | @return String in format \"Server(name:port)\".\n210 | \"\"\"\n211 | def print(server) do\n | ^^\n212 | \"Server(#{server.name}:#{server.port})\"\n213 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:212:1\n |\n210 | \"\"\"\n211 | def print(server) do\n212 | \"Server(#{server.name}:#{server.port})\"\n | ^^^^\n213 | end\n214 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:213:3\n |\n211 | def print(server) do\n212 | \"Server(#{server.name}:#{server.port})\"\n213 | end\n | ^\n214 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:214:1\n |\n212 | \"Server(#{server.name}:#{server.port})\"\n213 | end\n214 | end\n | ^\n215 |\n216 | defimpl Printable, for: BitString do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:216:9\n |\n214 | end\n215 |\n216 | defimpl Printable, for: BitString do\n | ^^^^^^^^^\n217 | def print(str) do\n218 | \"String(#{str})\"\n |\n\ninvalid-syntax: Compound statements are not allowed on the same line as simple statements\n --> tests/fixtures/fixture_elixir.ex:216:20\n |\n214 | end\n215 |\n216 | defimpl Printable, for: BitString do\n | ^^^\n217 | def print(str) do\n218 | \"String(#{str})\"\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:216:23\n |\n214 | end\n215 |\n216 | defimpl Printable, for: BitString do\n | ^\n217 | def print(str) do\n218 | \"String(#{str})\"\n |\n\nE701 Multiple statements on one line (colon)\n --> tests/fixtures/fixture_elixir.ex:216:23\n |\n214 | end\n215 |\n216 | defimpl Printable, for: BitString do\n | ^\n217 | def print(str) do\n218 | \"String(#{str})\"\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:216:35\n |\n214 | end\n215 |\n216 | defimpl Printable, for: BitString do\n | ^^\n217 | def print(str) do\n218 | \"String(#{str})\"\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:217:1\n |\n216 | defimpl Printable, for: BitString do\n217 | def print(str) do\n | ^^\n218 | \"String(#{str})\"\n219 | end\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:217:18\n |\n216 | defimpl Printable, for: BitString do\n217 | def print(str) do\n | ^^\n218 | \"String(#{str})\"\n219 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:218:1\n |\n216 | defimpl Printable, for: BitString do\n217 | def print(str) do\n218 | \"String(#{str})\"\n | ^^^^\n219 | end\n220 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:219:3\n |\n217 | def print(str) do\n218 | \"String(#{str})\"\n219 | end\n | ^\n220 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:220:1\n |\n218 | \"String(#{str})\"\n219 | end\n220 | end\n | ^\n221 |\n222 | # ── Utility module with guards and pipes ──────────────────────────────\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:224:11\n |\n222 | # ── Utility module with guards and pipes ──────────────────────────────\n223 |\n224 | defmodule MyApp.Utils do\n | ^^^^^\n225 | @moduledoc \"\"\"\n226 | Utility functions demonstrating pattern matching, guards,\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:224:23\n |\n222 | # ── Utility module with guards and pipes ──────────────────────────────\n223 |\n224 | defmodule MyApp.Utils do\n | ^^\n225 | @moduledoc \"\"\"\n226 | Utility functions demonstrating pattern matching, guards,\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:225:1\n |\n224 | defmodule MyApp.Utils do\n225 | @moduledoc \"\"\"\n | ^^\n226 | Utility functions demonstrating pattern matching, guards,\n227 | pipe operators, and comprehensions.\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:225:14\n |\n224 | defmodule MyApp.Utils do\n225 | @moduledoc \"\"\"\n | ______________^\n226 | | Utility functions demonstrating pattern matching, guards,\n227 | | pipe operators, and comprehensions.\n228 | | \"\"\"\n | |_____^\n229 |\n230 | @doc \"\"\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:230:8\n |\n228 | \"\"\"\n229 |\n230 | @doc \"\"\"\n | ________^\n231 | | Classify a value using guard clauses and pattern matching.\n232 | |\n233 | | @param value The value to classify.\n234 | | @return Atom describing the value's category.\n235 | | \"\"\"\n | |_____^\n236 | @spec classify(any()) :: atom()\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:236:9\n |\n234 | @return Atom describing the value's category.\n235 | \"\"\"\n236 | @spec classify(any()) :: atom()\n | ^^^^^^^^\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:236:26\n |\n234 | @return Atom describing the value's category.\n235 | \"\"\"\n236 | @spec classify(any()) :: atom()\n | ^\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:237:23\n |\n235 | \"\"\"\n236 | @spec classify(any()) :: atom()\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n | ^^^^\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n239 | def classify(0), do: :zero\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:237:28\n |\n235 | \"\"\"\n236 | @spec classify(any()) :: atom()\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n | ^^^^^^^^^^\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n239 | def classify(0), do: :zero\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:237:65\n |\n235 | \"\"\"\n236 | @spec classify(any()) :: atom()\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n | ^\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n239 | def classify(0), do: :zero\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:238:23\n |\n236 | @spec classify(any()) :: atom()\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n | ^^^^\n239 | def classify(0), do: :zero\n240 | def classify(value) when is_binary(value), do: :string\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:238:28\n |\n236 | @spec classify(any()) :: atom()\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n | ^^^^^^^^^^\n239 | def classify(0), do: :zero\n240 | def classify(value) when is_binary(value), do: :string\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:238:65\n |\n236 | @spec classify(any()) :: atom()\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n | ^\n239 | def classify(0), do: :zero\n240 | def classify(value) when is_binary(value), do: :string\n |\n\ninvalid-syntax: Expected `)`, found int\n --> tests/fixtures/fixture_elixir.ex:239:16\n |\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n239 | def classify(0), do: :zero\n | ^\n240 | def classify(value) when is_binary(value), do: :string\n241 | def classify(value) when is_list(value), do: :list\n |\n\ninvalid-syntax: Expected newline, found `)`\n --> tests/fixtures/fixture_elixir.ex:239:17\n |\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n239 | def classify(0), do: :zero\n | ^\n240 | def classify(value) when is_binary(value), do: :string\n241 | def classify(value) when is_list(value), do: :list\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:239:18\n |\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n239 | def classify(0), do: :zero\n | ^\n240 | def classify(value) when is_binary(value), do: :string\n241 | def classify(value) when is_list(value), do: :list\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:239:24\n |\n237 | def classify(value) when is_integer(value) and value > 0, do: :positive\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n239 | def classify(0), do: :zero\n | ^\n240 | def classify(value) when is_binary(value), do: :string\n241 | def classify(value) when is_list(value), do: :list\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:240:23\n |\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n239 | def classify(0), do: :zero\n240 | def classify(value) when is_binary(value), do: :string\n | ^^^^\n241 | def classify(value) when is_list(value), do: :list\n242 | def classify(_), do: :unknown\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:240:28\n |\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n239 | def classify(0), do: :zero\n240 | def classify(value) when is_binary(value), do: :string\n | ^^^^^^^^^\n241 | def classify(value) when is_list(value), do: :list\n242 | def classify(_), do: :unknown\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:240:50\n |\n238 | def classify(value) when is_integer(value) and value < 0, do: :negative\n239 | def classify(0), do: :zero\n240 | def classify(value) when is_binary(value), do: :string\n | ^\n241 | def classify(value) when is_list(value), do: :list\n242 | def classify(_), do: :unknown\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:241:23\n |\n239 | def classify(0), do: :zero\n240 | def classify(value) when is_binary(value), do: :string\n241 | def classify(value) when is_list(value), do: :list\n | ^^^^\n242 | def classify(_), do: :unknown\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:241:28\n |\n239 | def classify(0), do: :zero\n240 | def classify(value) when is_binary(value), do: :string\n241 | def classify(value) when is_list(value), do: :list\n | ^^^^^^^\n242 | def classify(_), do: :unknown\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:241:48\n |\n239 | def classify(0), do: :zero\n240 | def classify(value) when is_binary(value), do: :string\n241 | def classify(value) when is_list(value), do: :list\n | ^\n242 | def classify(_), do: :unknown\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:242:18\n |\n240 | def classify(value) when is_binary(value), do: :string\n241 | def classify(value) when is_list(value), do: :list\n242 | def classify(_), do: :unknown\n | ^\n243 |\n244 | @doc \"\"\"\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:242:24\n |\n240 | def classify(value) when is_binary(value), do: :string\n241 | def classify(value) when is_list(value), do: :list\n242 | def classify(_), do: :unknown\n | ^\n243 |\n244 | @doc \"\"\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:244:8\n |\n242 | def classify(_), do: :unknown\n243 |\n244 | @doc \"\"\"\n | ________^\n245 | | Process a list using pipe operator for data transformation.\n246 | |\n247 | | @param items List of strings to process.\n248 | | @return Sorted list of unique uppercase strings.\n249 | | \"\"\"\n | |_____^\n250 | @spec process_list(list(String.t())) :: list(String.t())\n251 | def process_list(items) do\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:250:9\n |\n248 | @return Sorted list of unique uppercase strings.\n249 | \"\"\"\n250 | @spec process_list(list(String.t())) :: list(String.t())\n | ^^^^^^^^^^^^\n251 | def process_list(items) do\n252 | items\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:250:41\n |\n248 | @return Sorted list of unique uppercase strings.\n249 | \"\"\"\n250 | @spec process_list(list(String.t())) :: list(String.t())\n | ^\n251 | def process_list(items) do\n252 | items\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:251:27\n |\n249 | \"\"\"\n250 | @spec process_list(list(String.t())) :: list(String.t())\n251 | def process_list(items) do\n | ^^\n252 | items\n253 | |> Enum.map(&String.trim/1)\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:252:1\n |\n250 | @spec process_list(list(String.t())) :: list(String.t())\n251 | def process_list(items) do\n252 | items\n | ^^^^\n253 | |> Enum.map(&String.trim/1)\n254 | |> Enum.reject(&(&1 == \"\"))\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:253:5\n |\n251 | def process_list(items) do\n252 | items\n253 | |> Enum.map(&String.trim/1)\n | ^\n254 | |> Enum.reject(&(&1 == \"\"))\n255 | |> Enum.map(&String.upcase/1)\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:253:6\n |\n251 | def process_list(items) do\n252 | items\n253 | |> Enum.map(&String.trim/1)\n | ^\n254 | |> Enum.reject(&(&1 == \"\"))\n255 | |> Enum.map(&String.upcase/1)\n |\n\ninvalid-syntax: Expected an expression or a ')'\n --> tests/fixtures/fixture_elixir.ex:253:17\n |\n251 | def process_list(items) do\n252 | items\n253 | |> Enum.map(&String.trim/1)\n | ^\n254 | |> Enum.reject(&(&1 == \"\"))\n255 | |> Enum.map(&String.upcase/1)\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:254:5\n |\n252 | items\n253 | |> Enum.map(&String.trim/1)\n254 | |> Enum.reject(&(&1 == \"\"))\n | ^\n255 | |> Enum.map(&String.upcase/1)\n256 | |> Enum.uniq()\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:254:6\n |\n252 | items\n253 | |> Enum.map(&String.trim/1)\n254 | |> Enum.reject(&(&1 == \"\"))\n | ^\n255 | |> Enum.map(&String.upcase/1)\n256 | |> Enum.uniq()\n |\n\ninvalid-syntax: Expected an expression or a ')'\n --> tests/fixtures/fixture_elixir.ex:254:20\n |\n252 | items\n253 | |> Enum.map(&String.trim/1)\n254 | |> Enum.reject(&(&1 == \"\"))\n | ^\n255 | |> Enum.map(&String.upcase/1)\n256 | |> Enum.uniq()\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:254:22\n |\n252 | items\n253 | |> Enum.map(&String.trim/1)\n254 | |> Enum.reject(&(&1 == \"\"))\n | ^\n255 | |> Enum.map(&String.upcase/1)\n256 | |> Enum.uniq()\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:255:5\n |\n253 | |> Enum.map(&String.trim/1)\n254 | |> Enum.reject(&(&1 == \"\"))\n255 | |> Enum.map(&String.upcase/1)\n | ^\n256 | |> Enum.uniq()\n257 | |> Enum.sort()\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:255:6\n |\n253 | |> Enum.map(&String.trim/1)\n254 | |> Enum.reject(&(&1 == \"\"))\n255 | |> Enum.map(&String.upcase/1)\n | ^\n256 | |> Enum.uniq()\n257 | |> Enum.sort()\n |\n\ninvalid-syntax: Expected an expression or a ')'\n --> tests/fixtures/fixture_elixir.ex:255:17\n |\n253 | |> Enum.map(&String.trim/1)\n254 | |> Enum.reject(&(&1 == \"\"))\n255 | |> Enum.map(&String.upcase/1)\n | ^\n256 | |> Enum.uniq()\n257 | |> Enum.sort()\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:256:5\n |\n254 | |> Enum.reject(&(&1 == \"\"))\n255 | |> Enum.map(&String.upcase/1)\n256 | |> Enum.uniq()\n | ^\n257 | |> Enum.sort()\n258 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:256:6\n |\n254 | |> Enum.reject(&(&1 == \"\"))\n255 | |> Enum.map(&String.upcase/1)\n256 | |> Enum.uniq()\n | ^\n257 | |> Enum.sort()\n258 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:257:5\n |\n255 | |> Enum.map(&String.upcase/1)\n256 | |> Enum.uniq()\n257 | |> Enum.sort()\n | ^\n258 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:257:6\n |\n255 | |> Enum.map(&String.upcase/1)\n256 | |> Enum.uniq()\n257 | |> Enum.sort()\n | ^\n258 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:258:3\n |\n256 | |> Enum.uniq()\n257 | |> Enum.sort()\n258 | end\n | ^\n259 |\n260 | @doc \"\"\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:260:8\n |\n258 | end\n259 |\n260 | @doc \"\"\"\n | ________^\n261 | | Demonstrate for-comprehension with multiple generators and filters.\n262 | |\n263 | | @param range Upper bound for the search space.\n264 | | @return List of Pythagorean triples.\n265 | | \"\"\"\n | |_____^\n266 | @spec pythagorean_triples(pos_integer()) :: list(tuple())\n267 | def pythagorean_triples(range) do\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:266:9\n |\n264 | @return List of Pythagorean triples.\n265 | \"\"\"\n266 | @spec pythagorean_triples(pos_integer()) :: list(tuple())\n | ^^^^^^^^^^^^^^^^^^^\n267 | def pythagorean_triples(range) do\n268 | for a <- 1..range,\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:266:45\n |\n264 | @return List of Pythagorean triples.\n265 | \"\"\"\n266 | @spec pythagorean_triples(pos_integer()) :: list(tuple())\n | ^\n267 | def pythagorean_triples(range) do\n268 | for a <- 1..range,\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:267:34\n |\n265 | \"\"\"\n266 | @spec pythagorean_triples(pos_integer()) :: list(tuple())\n267 | def pythagorean_triples(range) do\n | ^^\n268 | for a <- 1..range,\n269 | b <- a..range,\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:268:1\n |\n266 | @spec pythagorean_triples(pos_integer()) :: list(tuple())\n267 | def pythagorean_triples(range) do\n268 | for a <- 1..range,\n | ^^^^\n269 | b <- a..range,\n270 | c <- b..range,\n |\n\ninvalid-syntax: Invalid assignment target\n --> tests/fixtures/fixture_elixir.ex:268:9\n |\n266 | @spec pythagorean_triples(pos_integer()) :: list(tuple())\n267 | def pythagorean_triples(range) do\n268 | for a <- 1..range,\n | ^^^^^^^^^^^^^\n269 | b <- a..range,\n270 | c <- b..range,\n |\n\ninvalid-syntax: Expected `in`, found newline\n --> tests/fixtures/fixture_elixir.ex:268:23\n |\n266 | @spec pythagorean_triples(pos_integer()) :: list(tuple())\n267 | def pythagorean_triples(range) do\n268 | for a <- 1..range,\n | ^\n269 | b <- a..range,\n270 | c <- b..range,\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_elixir.ex:269:16\n |\n267 | def pythagorean_triples(range) do\n268 | for a <- 1..range,\n269 | b <- a..range,\n | ^\n270 | c <- b..range,\n271 | a * a + b * b == c * c do\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_elixir.ex:270:16\n |\n268 | for a <- 1..range,\n269 | b <- a..range,\n270 | c <- b..range,\n | ^\n271 | a * a + b * b == c * c do\n272 | {a, b, c}\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:271:32\n |\n269 | b <- a..range,\n270 | c <- b..range,\n271 | a * a + b * b == c * c do\n | ^^\n272 | {a, b, c}\n273 | end\n |\n\ninvalid-syntax: unindent does not match any outer indentation level\n --> tests/fixtures/fixture_elixir.ex:272:1\n |\n270 | c <- b..range,\n271 | a * a + b * b == c * c do\n272 | {a, b, c}\n | ^^^^^^\n273 | end\n274 | end\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:276:8\n |\n274 | end\n275 |\n276 | @doc \"\"\"\n | ________^\n277 | | Safe division returning :error tuple on zero divisor.\n278 | |\n279 | | @param a Dividend.\n280 | | @param b Divisor.\n281 | | @return {:ok, result} or {:error, :division_by_zero}.\n282 | | \"\"\"\n | |_____^\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:283:9\n |\n281 | @return {:ok, result} or {:error, :division_by_zero}.\n282 | \"\"\"\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n | ^^^^^^^^^^^\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n285 | def safe_divide(a, b), do: {:ok, a / b}\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:283:42\n |\n281 | @return {:ok, result} or {:error, :division_by_zero}.\n282 | \"\"\"\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n | ^\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n285 | def safe_divide(a, b), do: {:ok, a / b}\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:283:45\n |\n281 | @return {:ok, result} or {:error, :division_by_zero}.\n282 | \"\"\"\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n | ^\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n285 | def safe_divide(a, b), do: {:ok, a / b}\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:283:57\n |\n281 | @return {:ok, result} or {:error, :division_by_zero}.\n282 | \"\"\"\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n | ^\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n285 | def safe_divide(a, b), do: {:ok, a / b}\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:283:62\n |\n281 | @return {:ok, result} or {:error, :division_by_zero}.\n282 | \"\"\"\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n | ^\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n285 | def safe_divide(a, b), do: {:ok, a / b}\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:283:76\n |\n281 | @return {:ok, result} or {:error, :division_by_zero}.\n282 | \"\"\"\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n | ^\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n285 | def safe_divide(a, b), do: {:ok, a / b}\n |\n\ninvalid-syntax: Expected `)`, found int\n --> tests/fixtures/fixture_elixir.ex:284:22\n |\n282 | \"\"\"\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n | ^\n285 | def safe_divide(a, b), do: {:ok, a / b}\n |\n\ninvalid-syntax: Expected newline, found `)`\n --> tests/fixtures/fixture_elixir.ex:284:23\n |\n282 | \"\"\"\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n | ^\n285 | def safe_divide(a, b), do: {:ok, a / b}\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:284:24\n |\n282 | \"\"\"\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n | ^\n285 | def safe_divide(a, b), do: {:ok, a / b}\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:284:31\n |\n282 | \"\"\"\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n | ^\n285 | def safe_divide(a, b), do: {:ok, a / b}\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_elixir.ex:284:39\n |\n282 | \"\"\"\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n | ^\n285 | def safe_divide(a, b), do: {:ok, a / b}\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:284:56\n |\n282 | \"\"\"\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n | ^\n285 | def safe_divide(a, b), do: {:ok, a / b}\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:285:24\n |\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n285 | def safe_divide(a, b), do: {:ok, a / b}\n | ^\n286 |\n287 | @doc \"\"\"\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:285:31\n |\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n285 | def safe_divide(a, b), do: {:ok, a / b}\n | ^\n286 |\n287 | @doc \"\"\"\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:285:41\n |\n283 | @spec safe_divide(number(), number()) :: {:ok, float()} | {:error, atom()}\n284 | def safe_divide(_, 0), do: {:error, :division_by_zero}\n285 | def safe_divide(a, b), do: {:ok, a / b}\n | ^\n286 |\n287 | @doc \"\"\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:287:8\n |\n285 | def safe_divide(a, b), do: {:ok, a / b}\n286 |\n287 | @doc \"\"\"\n | ________^\n288 | | Recursively compute factorial with guard clause.\n289 | |\n290 | | @param n Non-negative integer.\n291 | | @return Factorial of n.\n292 | | \"\"\"\n | |_____^\n293 | @spec factorial(non_neg_integer()) :: pos_integer()\n294 | def factorial(0), do: 1\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:293:9\n |\n291 | @return Factorial of n.\n292 | \"\"\"\n293 | @spec factorial(non_neg_integer()) :: pos_integer()\n | ^^^^^^^^^\n294 | def factorial(0), do: 1\n295 | def factorial(n) when n > 0, do: n * factorial(n - 1)\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:293:39\n |\n291 | @return Factorial of n.\n292 | \"\"\"\n293 | @spec factorial(non_neg_integer()) :: pos_integer()\n | ^\n294 | def factorial(0), do: 1\n295 | def factorial(n) when n > 0, do: n * factorial(n - 1)\n |\n\ninvalid-syntax: Expected `)`, found int\n --> tests/fixtures/fixture_elixir.ex:294:17\n |\n292 | \"\"\"\n293 | @spec factorial(non_neg_integer()) :: pos_integer()\n294 | def factorial(0), do: 1\n | ^\n295 | def factorial(n) when n > 0, do: n * factorial(n - 1)\n296 | end\n |\n\ninvalid-syntax: Expected newline, found `)`\n --> tests/fixtures/fixture_elixir.ex:294:18\n |\n292 | \"\"\"\n293 | @spec factorial(non_neg_integer()) :: pos_integer()\n294 | def factorial(0), do: 1\n | ^\n295 | def factorial(n) when n > 0, do: n * factorial(n - 1)\n296 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:294:19\n |\n292 | \"\"\"\n293 | @spec factorial(non_neg_integer()) :: pos_integer()\n294 | def factorial(0), do: 1\n | ^\n295 | def factorial(n) when n > 0, do: n * factorial(n - 1)\n296 | end\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_elixir.ex:295:20\n |\n293 | @spec factorial(non_neg_integer()) :: pos_integer()\n294 | def factorial(0), do: 1\n295 | def factorial(n) when n > 0, do: n * factorial(n - 1)\n | ^^^^\n296 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:295:25\n |\n293 | @spec factorial(non_neg_integer()) :: pos_integer()\n294 | def factorial(0), do: 1\n295 | def factorial(n) when n > 0, do: n * factorial(n - 1)\n | ^\n296 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:296:1\n |\n294 | def factorial(0), do: 1\n295 | def factorial(n) when n > 0, do: n * factorial(n - 1)\n296 | end\n | ^\n297 |\n298 | # ── Behaviour definition ─────────────────────────────────────────────\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:300:11\n |\n298 | # ── Behaviour definition ─────────────────────────────────────────────\n299 |\n300 | defmodule MyApp.Plugin do\n | ^^^^^\n301 | @moduledoc \"\"\"\n302 | Behaviour defining the plugin interface.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:300:24\n |\n298 | # ── Behaviour definition ─────────────────────────────────────────────\n299 |\n300 | defmodule MyApp.Plugin do\n | ^^\n301 | @moduledoc \"\"\"\n302 | Behaviour defining the plugin interface.\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:301:1\n |\n300 | defmodule MyApp.Plugin do\n301 | @moduledoc \"\"\"\n | ^^\n302 | Behaviour defining the plugin interface.\n303 | \"\"\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:301:14\n |\n300 | defmodule MyApp.Plugin do\n301 | @moduledoc \"\"\"\n | ______________^\n302 | | Behaviour defining the plugin interface.\n303 | | \"\"\"\n | |_____^\n304 |\n305 | @doc \"Initialize the plugin with configuration options.\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:305:8\n |\n303 | \"\"\"\n304 |\n305 | @doc \"Initialize the plugin with configuration options.\"\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n306 | @callback init(opts :: keyword()) :: {:ok, any()} | {:error, String.t()}\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:306:13\n |\n305 | @doc \"Initialize the plugin with configuration options.\"\n306 | @callback init(opts :: keyword()) :: {:ok, any()} | {:error, String.t()}\n | ^^^^\n307 |\n308 | @doc \"Execute the plugin's main logic.\"\n |\n\ninvalid-syntax: Invalid annotated assignment target\n --> tests/fixtures/fixture_elixir.ex:306:13\n |\n305 | @doc \"Initialize the plugin with configuration options.\"\n306 | @callback init(opts :: keyword()) :: {:ok, any()} | {:error, String.t()}\n | ^^^^^^^^^^^^^^^^^^^^^^^\n307 |\n308 | @doc \"Execute the plugin's main logic.\"\n |\n\ninvalid-syntax: Expected `,`, found `:`\n --> tests/fixtures/fixture_elixir.ex:306:23\n |\n305 | @doc \"Initialize the plugin with configuration options.\"\n306 | @callback init(opts :: keyword()) :: {:ok, any()} | {:error, String.t()}\n | ^\n307 |\n308 | @doc \"Execute the plugin's main logic.\"\n |\n\ninvalid-syntax: Expected `,`, found `:`\n --> tests/fixtures/fixture_elixir.ex:306:24\n |\n305 | @doc \"Initialize the plugin with configuration options.\"\n306 | @callback init(opts :: keyword()) :: {:ok, any()} | {:error, String.t()}\n | ^\n307 |\n308 | @doc \"Execute the plugin's main logic.\"\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:306:38\n |\n305 | @doc \"Initialize the plugin with configuration options.\"\n306 | @callback init(opts :: keyword()) :: {:ok, any()} | {:error, String.t()}\n | ^\n307 |\n308 | @doc \"Execute the plugin's main logic.\"\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:306:41\n |\n305 | @doc \"Initialize the plugin with configuration options.\"\n306 | @callback init(opts :: keyword()) :: {:ok, any()} | {:error, String.t()}\n | ^\n307 |\n308 | @doc \"Execute the plugin's main logic.\"\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:306:51\n |\n305 | @doc \"Initialize the plugin with configuration options.\"\n306 | @callback init(opts :: keyword()) :: {:ok, any()} | {:error, String.t()}\n | ^\n307 |\n308 | @doc \"Execute the plugin's main logic.\"\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:306:56\n |\n305 | @doc \"Initialize the plugin with configuration options.\"\n306 | @callback init(opts :: keyword()) :: {:ok, any()} | {:error, String.t()}\n | ^\n307 |\n308 | @doc \"Execute the plugin's main logic.\"\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:306:74\n |\n305 | @doc \"Initialize the plugin with configuration options.\"\n306 | @callback init(opts :: keyword()) :: {:ok, any()} | {:error, String.t()}\n | ^\n307 |\n308 | @doc \"Execute the plugin's main logic.\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:308:8\n |\n306 | @callback init(opts :: keyword()) :: {:ok, any()} | {:error, String.t()}\n307 |\n308 | @doc \"Execute the plugin's main logic.\"\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n309 | @callback execute(state :: any()) :: :ok | {:error, String.t()}\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:309:13\n |\n308 | @doc \"Execute the plugin's main logic.\"\n309 | @callback execute(state :: any()) :: :ok | {:error, String.t()}\n | ^^^^^^^\n310 |\n311 | @doc \"Clean up plugin resources.\"\n |\n\ninvalid-syntax: Invalid annotated assignment target\n --> tests/fixtures/fixture_elixir.ex:309:13\n |\n308 | @doc \"Execute the plugin's main logic.\"\n309 | @callback execute(state :: any()) :: :ok | {:error, String.t()}\n | ^^^^^^^^^^^^^^^^^^^^^^^\n310 |\n311 | @doc \"Clean up plugin resources.\"\n |\n\ninvalid-syntax: Expected `,`, found `:`\n --> tests/fixtures/fixture_elixir.ex:309:27\n |\n308 | @doc \"Execute the plugin's main logic.\"\n309 | @callback execute(state :: any()) :: :ok | {:error, String.t()}\n | ^\n310 |\n311 | @doc \"Clean up plugin resources.\"\n |\n\ninvalid-syntax: Expected `,`, found `:`\n --> tests/fixtures/fixture_elixir.ex:309:28\n |\n308 | @doc \"Execute the plugin's main logic.\"\n309 | @callback execute(state :: any()) :: :ok | {:error, String.t()}\n | ^\n310 |\n311 | @doc \"Clean up plugin resources.\"\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:309:38\n |\n308 | @doc \"Execute the plugin's main logic.\"\n309 | @callback execute(state :: any()) :: :ok | {:error, String.t()}\n | ^\n310 |\n311 | @doc \"Clean up plugin resources.\"\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:309:40\n |\n308 | @doc \"Execute the plugin's main logic.\"\n309 | @callback execute(state :: any()) :: :ok | {:error, String.t()}\n | ^\n310 |\n311 | @doc \"Clean up plugin resources.\"\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:309:47\n |\n308 | @doc \"Execute the plugin's main logic.\"\n309 | @callback execute(state :: any()) :: :ok | {:error, String.t()}\n | ^\n310 |\n311 | @doc \"Clean up plugin resources.\"\n |\n\ninvalid-syntax: Expected `:`, found `}`\n --> tests/fixtures/fixture_elixir.ex:309:65\n |\n308 | @doc \"Execute the plugin's main logic.\"\n309 | @callback execute(state :: any()) :: :ok | {:error, String.t()}\n | ^\n310 |\n311 | @doc \"Clean up plugin resources.\"\n |\n\ninvalid-syntax: Expected newline, found string\n --> tests/fixtures/fixture_elixir.ex:311:8\n |\n309 | @callback execute(state :: any()) :: :ok | {:error, String.t()}\n310 |\n311 | @doc \"Clean up plugin resources.\"\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n312 | @callback cleanup(state :: any()) :: :ok\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_elixir.ex:312:13\n |\n311 | @doc \"Clean up plugin resources.\"\n312 | @callback cleanup(state :: any()) :: :ok\n | ^^^^^^^\n313 |\n314 | @optional_callbacks [cleanup: 1]\n |\n\ninvalid-syntax: Invalid annotated assignment target\n --> tests/fixtures/fixture_elixir.ex:312:13\n |\n311 | @doc \"Clean up plugin resources.\"\n312 | @callback cleanup(state :: any()) :: :ok\n | ^^^^^^^^^^^^^^^^^^^^^^^\n313 |\n314 | @optional_callbacks [cleanup: 1]\n |\n\ninvalid-syntax: Expected `,`, found `:`\n --> tests/fixtures/fixture_elixir.ex:312:27\n |\n311 | @doc \"Clean up plugin resources.\"\n312 | @callback cleanup(state :: any()) :: :ok\n | ^\n313 |\n314 | @optional_callbacks [cleanup: 1]\n |\n\ninvalid-syntax: Expected `,`, found `:`\n --> tests/fixtures/fixture_elixir.ex:312:28\n |\n311 | @doc \"Clean up plugin resources.\"\n312 | @callback cleanup(state :: any()) :: :ok\n | ^\n313 |\n314 | @optional_callbacks [cleanup: 1]\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:312:38\n |\n311 | @doc \"Clean up plugin resources.\"\n312 | @callback cleanup(state :: any()) :: :ok\n | ^\n313 |\n314 | @optional_callbacks [cleanup: 1]\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:312:40\n |\n311 | @doc \"Clean up plugin resources.\"\n312 | @callback cleanup(state :: any()) :: :ok\n | ^\n313 |\n314 | @optional_callbacks [cleanup: 1]\n |\n\ninvalid-syntax: Expected class, function definition or async function definition after decorator\n --> tests/fixtures/fixture_elixir.ex:315:1\n |\n314 | @optional_callbacks [cleanup: 1]\n315 | end\n | ^\n316 |\n317 | # coverage extension block\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:318:11\n |\n317 | # coverage extension block\n318 | defmodule MyApp.Extra do\n | ^^^^^\n319 | # inline module comment\n320 | defstruct [:name]\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:318:23\n |\n317 | # coverage extension block\n318 | defmodule MyApp.Extra do\n | ^^\n319 | # inline module comment\n320 | defstruct [:name]\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:320:1\n |\n318 | defmodule MyApp.Extra do\n319 | # inline module comment\n320 | defstruct [:name]\n | ^^\n321 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:321:1\n |\n319 | # inline module comment\n320 | defstruct [:name]\n321 | end\n | ^\n322 |\n323 | defmodule MyApp.Audit do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:323:11\n |\n321 | end\n322 |\n323 | defmodule MyApp.Audit do\n | ^^^^^\n324 | defstruct [:id]\n325 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:323:23\n |\n321 | end\n322 |\n323 | defmodule MyApp.Audit do\n | ^^\n324 | defstruct [:id]\n325 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:324:1\n |\n323 | defmodule MyApp.Audit do\n324 | defstruct [:id]\n | ^^\n325 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:325:1\n |\n323 | defmodule MyApp.Audit do\n324 | defstruct [:id]\n325 | end\n | ^\n326 |\n327 | defmodule MyApp.State do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:327:11\n |\n325 | end\n326 |\n327 | defmodule MyApp.State do\n | ^^^^^\n328 | defstruct [:status]\n329 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:327:23\n |\n325 | end\n326 |\n327 | defmodule MyApp.State do\n | ^^\n328 | defstruct [:status]\n329 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:328:1\n |\n327 | defmodule MyApp.State do\n328 | defstruct [:status]\n | ^^\n329 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:329:1\n |\n327 | defmodule MyApp.State do\n328 | defstruct [:status]\n329 | end\n | ^\n330 |\n331 | defmodule MyApp.Payload do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:331:11\n |\n329 | end\n330 |\n331 | defmodule MyApp.Payload do\n | ^^^^^\n332 | defstruct [:value]\n333 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:331:25\n |\n329 | end\n330 |\n331 | defmodule MyApp.Payload do\n | ^^\n332 | defstruct [:value]\n333 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:332:1\n |\n331 | defmodule MyApp.Payload do\n332 | defstruct [:value]\n | ^^\n333 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:333:1\n |\n331 | defmodule MyApp.Payload do\n332 | defstruct [:value]\n333 | end\n | ^\n334 |\n335 | defmodule MyApp.Context do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:335:11\n |\n333 | end\n334 |\n335 | defmodule MyApp.Context do\n | ^^^^^\n336 | defstruct [:meta]\n337 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:335:25\n |\n333 | end\n334 |\n335 | defmodule MyApp.Context do\n | ^^\n336 | defstruct [:meta]\n337 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:336:1\n |\n335 | defmodule MyApp.Context do\n336 | defstruct [:meta]\n | ^^\n337 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:337:1\n |\n335 | defmodule MyApp.Context do\n336 | defstruct [:meta]\n337 | end\n | ^\n338 |\n339 | defprotocol Auditable do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:339:13\n |\n337 | end\n338 |\n339 | defprotocol Auditable do\n | ^^^^^^^^^\n340 | def audit(data)\n341 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:339:23\n |\n337 | end\n338 |\n339 | defprotocol Auditable do\n | ^^\n340 | def audit(data)\n341 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:340:1\n |\n339 | defprotocol Auditable do\n340 | def audit(data)\n | ^^\n341 | end\n |\n\ninvalid-syntax: Expected `:`, found newline\n --> tests/fixtures/fixture_elixir.ex:340:18\n |\n339 | defprotocol Auditable do\n340 | def audit(data)\n | ^\n341 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:341:1\n |\n339 | defprotocol Auditable do\n340 | def audit(data)\n341 | end\n | ^\n342 |\n343 | defprotocol Renderable do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:343:13\n |\n341 | end\n342 |\n343 | defprotocol Renderable do\n | ^^^^^^^^^^\n344 | def render(data)\n345 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:343:24\n |\n341 | end\n342 |\n343 | defprotocol Renderable do\n | ^^\n344 | def render(data)\n345 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:344:1\n |\n343 | defprotocol Renderable do\n344 | def render(data)\n | ^^\n345 | end\n |\n\ninvalid-syntax: Expected `:`, found newline\n --> tests/fixtures/fixture_elixir.ex:344:19\n |\n343 | defprotocol Renderable do\n344 | def render(data)\n | ^\n345 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:345:1\n |\n343 | defprotocol Renderable do\n344 | def render(data)\n345 | end\n | ^\n346 |\n347 | defprotocol Parsable do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:347:13\n |\n345 | end\n346 |\n347 | defprotocol Parsable do\n | ^^^^^^^^\n348 | def parse(data)\n349 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:347:22\n |\n345 | end\n346 |\n347 | defprotocol Parsable do\n | ^^\n348 | def parse(data)\n349 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:348:1\n |\n347 | defprotocol Parsable do\n348 | def parse(data)\n | ^^\n349 | end\n |\n\ninvalid-syntax: Expected `:`, found newline\n --> tests/fixtures/fixture_elixir.ex:348:18\n |\n347 | defprotocol Parsable do\n348 | def parse(data)\n | ^\n349 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:349:1\n |\n347 | defprotocol Parsable do\n348 | def parse(data)\n349 | end\n | ^\n350 |\n351 | defprotocol Validatable do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:351:13\n |\n349 | end\n350 |\n351 | defprotocol Validatable do\n | ^^^^^^^^^^^\n352 | def validate(data)\n353 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:351:25\n |\n349 | end\n350 |\n351 | defprotocol Validatable do\n | ^^\n352 | def validate(data)\n353 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:352:1\n |\n351 | defprotocol Validatable do\n352 | def validate(data)\n | ^^\n353 | end\n |\n\ninvalid-syntax: Expected `:`, found newline\n --> tests/fixtures/fixture_elixir.ex:352:21\n |\n351 | defprotocol Validatable do\n352 | def validate(data)\n | ^\n353 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:353:1\n |\n351 | defprotocol Validatable do\n352 | def validate(data)\n353 | end\n | ^\n354 |\n355 | defimpl Auditable, for: Any do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:355:9\n |\n353 | end\n354 |\n355 | defimpl Auditable, for: Any do\n | ^^^^^^^^^\n356 | def audit(data), do: data\n357 | end\n |\n\ninvalid-syntax: Compound statements are not allowed on the same line as simple statements\n --> tests/fixtures/fixture_elixir.ex:355:20\n |\n353 | end\n354 |\n355 | defimpl Auditable, for: Any do\n | ^^^\n356 | def audit(data), do: data\n357 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:355:23\n |\n353 | end\n354 |\n355 | defimpl Auditable, for: Any do\n | ^\n356 | def audit(data), do: data\n357 | end\n |\n\nE701 Multiple statements on one line (colon)\n --> tests/fixtures/fixture_elixir.ex:355:23\n |\n353 | end\n354 |\n355 | defimpl Auditable, for: Any do\n | ^\n356 | def audit(data), do: data\n357 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:355:29\n |\n353 | end\n354 |\n355 | defimpl Auditable, for: Any do\n | ^^\n356 | def audit(data), do: data\n357 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:356:1\n |\n355 | defimpl Auditable, for: Any do\n356 | def audit(data), do: data\n | ^^\n357 | end\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:356:18\n |\n355 | defimpl Auditable, for: Any do\n356 | def audit(data), do: data\n | ^\n357 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:357:1\n |\n355 | defimpl Auditable, for: Any do\n356 | def audit(data), do: data\n357 | end\n | ^\n358 |\n359 | defimpl Renderable, for: Any do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:359:9\n |\n357 | end\n358 |\n359 | defimpl Renderable, for: Any do\n | ^^^^^^^^^^\n360 | def render(data), do: data\n361 | end\n |\n\ninvalid-syntax: Compound statements are not allowed on the same line as simple statements\n --> tests/fixtures/fixture_elixir.ex:359:21\n |\n357 | end\n358 |\n359 | defimpl Renderable, for: Any do\n | ^^^\n360 | def render(data), do: data\n361 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:359:24\n |\n357 | end\n358 |\n359 | defimpl Renderable, for: Any do\n | ^\n360 | def render(data), do: data\n361 | end\n |\n\nE701 Multiple statements on one line (colon)\n --> tests/fixtures/fixture_elixir.ex:359:24\n |\n357 | end\n358 |\n359 | defimpl Renderable, for: Any do\n | ^\n360 | def render(data), do: data\n361 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:359:30\n |\n357 | end\n358 |\n359 | defimpl Renderable, for: Any do\n | ^^\n360 | def render(data), do: data\n361 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:360:1\n |\n359 | defimpl Renderable, for: Any do\n360 | def render(data), do: data\n | ^^\n361 | end\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:360:19\n |\n359 | defimpl Renderable, for: Any do\n360 | def render(data), do: data\n | ^\n361 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:361:1\n |\n359 | defimpl Renderable, for: Any do\n360 | def render(data), do: data\n361 | end\n | ^\n362 |\n363 | defimpl Parsable, for: Any do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:363:9\n |\n361 | end\n362 |\n363 | defimpl Parsable, for: Any do\n | ^^^^^^^^\n364 | def parse(data), do: data\n365 | end\n |\n\ninvalid-syntax: Compound statements are not allowed on the same line as simple statements\n --> tests/fixtures/fixture_elixir.ex:363:19\n |\n361 | end\n362 |\n363 | defimpl Parsable, for: Any do\n | ^^^\n364 | def parse(data), do: data\n365 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:363:22\n |\n361 | end\n362 |\n363 | defimpl Parsable, for: Any do\n | ^\n364 | def parse(data), do: data\n365 | end\n |\n\nE701 Multiple statements on one line (colon)\n --> tests/fixtures/fixture_elixir.ex:363:22\n |\n361 | end\n362 |\n363 | defimpl Parsable, for: Any do\n | ^\n364 | def parse(data), do: data\n365 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:363:28\n |\n361 | end\n362 |\n363 | defimpl Parsable, for: Any do\n | ^^\n364 | def parse(data), do: data\n365 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:364:1\n |\n363 | defimpl Parsable, for: Any do\n364 | def parse(data), do: data\n | ^^\n365 | end\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:364:18\n |\n363 | defimpl Parsable, for: Any do\n364 | def parse(data), do: data\n | ^\n365 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:365:1\n |\n363 | defimpl Parsable, for: Any do\n364 | def parse(data), do: data\n365 | end\n | ^\n366 |\n367 | defimpl Validatable, for: Any do\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:367:9\n |\n365 | end\n366 |\n367 | defimpl Validatable, for: Any do\n | ^^^^^^^^^^^\n368 | def validate(data), do: data\n369 | end\n |\n\ninvalid-syntax: Compound statements are not allowed on the same line as simple statements\n --> tests/fixtures/fixture_elixir.ex:367:22\n |\n365 | end\n366 |\n367 | defimpl Validatable, for: Any do\n | ^^^\n368 | def validate(data), do: data\n369 | end\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_elixir.ex:367:25\n |\n365 | end\n366 |\n367 | defimpl Validatable, for: Any do\n | ^\n368 | def validate(data), do: data\n369 | end\n |\n\nE701 Multiple statements on one line (colon)\n --> tests/fixtures/fixture_elixir.ex:367:25\n |\n365 | end\n366 |\n367 | defimpl Validatable, for: Any do\n | ^\n368 | def validate(data), do: data\n369 | end\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:367:31\n |\n365 | end\n366 |\n367 | defimpl Validatable, for: Any do\n | ^^\n368 | def validate(data), do: data\n369 | end\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:368:1\n |\n367 | defimpl Validatable, for: Any do\n368 | def validate(data), do: data\n | ^^\n369 | end\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:368:21\n |\n367 | defimpl Validatable, for: Any do\n368 | def validate(data), do: data\n | ^\n369 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:369:1\n |\n367 | defimpl Validatable, for: Any do\n368 | def validate(data), do: data\n369 | end\n | ^\n370 |\n371 | # REQ-COVER-SRS-231 START\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:372:11\n |\n371 | # REQ-COVER-SRS-231 START\n372 | defmodule ReqCoverElixir do\n | ^^^^^^^^^^^^^^\n373 | # @REQ-COVER-SRS-231 block 1\n374 | # @brief Coverage helper construct 1.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_elixir.ex:372:26\n |\n371 | # REQ-COVER-SRS-231 START\n372 | defmodule ReqCoverElixir do\n | ^^\n373 | # @REQ-COVER-SRS-231 block 1\n374 | # @brief Coverage helper construct 1.\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_elixir.ex:378:1\n |\n376 | # @param value Input value for helper construct 1.\n377 | # @return Output value for helper construct 1.\n378 | def req_cover_elixir_1(value), do: value + 1\n | ^^\n379 |\n380 | # @REQ-COVER-SRS-231 block 2\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:378:32\n |\n376 | # @param value Input value for helper construct 1.\n377 | # @return Output value for helper construct 1.\n378 | def req_cover_elixir_1(value), do: value + 1\n | ^\n379 |\n380 | # @REQ-COVER-SRS-231 block 2\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:385:32\n |\n383 | # @param value Input value for helper construct 2.\n384 | # @return Output value for helper construct 2.\n385 | def req_cover_elixir_2(value), do: value + 2\n | ^\n386 |\n387 | # @REQ-COVER-SRS-231 block 3\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:392:32\n |\n390 | # @param value Input value for helper construct 3.\n391 | # @return Output value for helper construct 3.\n392 | def req_cover_elixir_3(value), do: value + 3\n | ^\n393 |\n394 | # @REQ-COVER-SRS-231 block 4\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:399:32\n |\n397 | # @param value Input value for helper construct 4.\n398 | # @return Output value for helper construct 4.\n399 | def req_cover_elixir_4(value), do: value + 4\n | ^\n400 |\n401 | # @REQ-COVER-SRS-231 block 5\n |\n\ninvalid-syntax: Expected `:`, found `,`\n --> tests/fixtures/fixture_elixir.ex:406:32\n |\n404 | # @param value Input value for helper construct 5.\n405 | # @return Output value for helper construct 5.\n406 | def req_cover_elixir_5(value), do: value + 5\n | ^\n407 |\n408 | end\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_elixir.ex:408:1\n |\n406 | def req_cover_elixir_5(value), do: value + 5\n407 |\n408 | end\n | ^\n409 | # REQ-COVER-SRS-231 END\n |\n\nFound 362 errors.\n\n",
|
|
4
|
+
"stderr": ""
|
|
5
|
+
}
|