3.6 KiB
3.6 KiB
Profile Testing Instructions
How to Test Each Profile
1. Flutter Profile (test.dart)
nvim test.dart
What to check:
- LSP loads automatically (check with
:LspInfo) - You see dartls in the LSP list
- Hover over
StatelessWidgetand pressK- should show documentation - Try completion: type
Theme.of(and see suggestions - Check Flutter keymaps work:
- Press
<leader>(space by default) and wait - should see Flutter commands - Try
<leader>flto restart LSP
- Press
- Widget guides should show (vertical lines for nested widgets)
- Closing tags should appear (e.g.,
// MyAppafter closing brace)
2. Python Profile (test.py)
nvim test.py
What to check:
- LSP loads automatically (check with
:LspInfo) - You see pyright in the LSP list
- Hover over
calculate_fibonacciand pressK- should show type info - Try completion: type
fib.and see list methods - Test formatting on save:
- Add some messy code:
x=1+2+3+4+5 - Save the file (
:w) - Should auto-format to:
x = 1 + 2 + 3 + 4 + 5
- Add some messy code:
- Add an unused import at the top:
import os- Save the file - ruff should remove it or flag it
- Lint errors should appear (the f-string and unused sys import)
3. Svelte Profile (test.svelte)
nvim test.svelte
What to check:
- LSP loads automatically (check with
:LspInfo) - You should see svelte-language-server
- Syntax highlighting works (script, template, style sections)
- Test Emmet expansion:
- In the
<main>section, type:div.test>ul>li*3 - Press
<C-e>,(Ctrl+e then comma) - Should expand to nested div/ul/li structure
- In the
- Test formatting on save:
- Mess up some HTML:
<button class="btn" on:click={increment}>Text</button> - Save the file (
:w) - Should auto-format with prettier
- Mess up some HTML:
- Try completion on Tailwind classes: type
class="bg-and see suggestions
4. Test Lazy Loading
nvim test.lua # or init.lua
What to check:
- Open a Lua file
- Check
:LspInfo- should only see lua_ls, NOT dartls, pyright, or svelte - Check
:Lazy- Flutter, Python, Svelte plugins should be "not loaded" - Now open test.py in a split:
:split test.py - Check
:Lazyagain - Python plugins should now be "loaded"
5. Verify Mason Tools
nvim
Then run :Mason
Tools that should be installed:
- lua-language-server (lua_ls)
- stylua
- dart-language-server (dartls) # For Flutter
- pyright # For Python
- ruff # For Python
- svelte-language-server
- typescript-language-server (tsserver/ts_ls)
- tailwindcss-language-server
- prettier
If any are missing:
- Highlight the missing tool in Mason
- Press
ito install - Or wait - mason-tool-installer should install them automatically
Common Issues
LSP not loading
:checkhealth lsp
:LspLog " Check for errors
Formatter not working
:ConformInfo " Check formatter config
:Mason " Verify formatter is installed
Plugins not loading
:Lazy check " Check plugin status
:Lazy sync " Re-sync plugins
Node.js issues with Copilot
:echo $PATH " Should include fnm path
Success Criteria
✅ All three language profiles should:
- Load their respective LSP automatically on file open
- Provide completions and hover info
- Auto-format on save
- NOT load when opening other file types (lazy loading works)
✅ Common plugins:
- Copilot should work in all file types (
:Copilot status) - Telescope should work (
:Telescope find_files) - Which-key should show keymaps when pressing
<leader>