feat: add editor label and formatter configuration defaults#2330
feat: add editor label and formatter configuration defaults#2330teemingc wants to merge 8 commits intosveltejs:masterfrom
Conversation
|
I wonder if we could drop I also wonder if we could show |
I had this initially too but realised it could break if anyone changed the
Maybe something like this? Details"workbench.editor.customLabels.patterns": {
"src/routes/+[page|server]*": "/${filename}.${extname}",
"src/routes/*/+[page|server]*": "/${dirname}/${filename}.${extname}",
"src/routes/*/*/**/+[page|server]*": ".../${dirname}/${filename}.${extname}",
}, |
We could potentially duplicate the rules and remove the |
I'm not sure how to get the fallback rules to recognise the nesting level since without knowing the |
I tried exactly this in my configuration but removed it because:
|
|
This is what I came up with: "workbench.editor.customLabels.patterns": {
// Root
"**/routes/+layout.svelte": "/ [layout]",
"**/routes/+page.server.ts": "/ [server]",
"**/routes/+layout.server.ts": "/ [layout.server]",
"**/routes/+server.ts": "/ [endpoint]",
"**/routes/+page.svelte": "/ [page]",
// 1st level
"**/routes/*/+layout.svelte": "/${dirname} [layout]",
"**/routes/*/+page.server.ts": "/${dirname} [server]",
"**/routes/*/+layout.server.ts": "/${dirname} [layout.server]",
"**/routes/*/+server.ts": "/${dirname} [endpoint]",
"**/routes/*/+page.svelte": "/${dirname} [page]",
// Nested
"**/routes/*/*/**/+layout.svelte": "${dirname(1)}/${dirname} [layout]",
"**/routes/*/*/**/+page.server.ts": "${dirname(1)}/${dirname} [server]",
"**/routes/*/*/**/+layout.server.ts": "${dirname(1)}/${dirname} [layout.server]",
"**/routes/*/*/**/+server.ts": "${dirname(1)}/${dirname} [endpoint]",
"**/routes/*/*/**/+page.svelte": "${dirname(1)}/${dirname} [page]",
}Very convoluted but this makes things like |
@paoloricciuti I'm not sure you did try the same thing then. My suggestion was that @ottomated your setup can't differentiate between |
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Good catch, here's a more comprehensive version: "workbench.editor.customLabels.patterns": {
// Root
"**/routes/+layout.svelte": "/ [layout]",
"**/routes/+layout.server.[jt]s": "/ [layout.server.load]",
"**/routes/+layout.[jt]s": "/ [layout.load]",
"**/routes/+page.svelte": "/ [page]",
"**/routes/+page.server.[jt]s": "/ [server.load]",
"**/routes/+page.[jt]s": "/ [load]",
"**/routes/+server.[jt]s": "/ [endpoint]",
// 1st level
"**/routes/*/+layout.svelte": "/${dirname} [layout]",
"**/routes/*/+layout.server.[jt]s": "/${dirname} [layout.server.load]",
"**/routes/*/+layout.[jt]s": "/${dirname} [layout.load]",
"**/routes/*/+page.svelte": "/${dirname} [page]",
"**/routes/*/+page.server.[jt]s": "/${dirname} [server.load]",
"**/routes/*/+page.[jt]s": "/${dirname} [load]",
"**/routes/*/+server.[jt]s": "/${dirname} [endpoint]",
// Nested
"**/routes/*/*/**/+layout.svelte": "${dirname(1)}/${dirname} [layout]",
"**/routes/*/*/**/+layout.server.[jt]s": "${dirname(1)}/${dirname} [layout.server.load]",
"**/routes/*/*/**/+layout.[jt]s": "${dirname(1)}/${dirname} [layout.load]",
"**/routes/*/*/**/+page.svelte": "${dirname(1)}/${dirname} [page]",
"**/routes/*/*/**/+page.server.[jt]s": "${dirname(1)}/${dirname} [server.load]",
"**/routes/*/*/**/+page.[jt]s": "${dirname(1)}/${dirname} [load]",
"**/routes/*/*/**/+server.[jt]s": "${dirname(1)}/${dirname} [endpoint]",
}, |
|
what about |
|
Adding a reminder for myself to try elstalky’s config shared on discord: i'm using these: "workbench.editor.customLabels.patterns": {
"**/routes/{+server,+layout,+page,+error}.{svelte,ts,cs,server.ts,js,server.js}": "/ (${filename}.${extname})",
"**/routes/*/{+server,+layout,+page,+error}.{svelte,ts,cs,server.ts,js,server.js}": "/${dirname} (${filename}.${extname})",
"**/routes/*/*/{+server,+layout,+page,+error}.{svelte,ts,cs,server.ts,js,server.js}": "/${dirname(1)}/${dirname} (${filename}.${extname})",
"**/routes/*/*/*/{+server,+layout,+page,+error}.{svelte,ts,cs,server.ts,js,server.js}": "/${dirname(2)}/${dirname(1)}/${dirname} (${filename}.${extname})",
"**/routes/**/*/*/*/*/{+server,+layout,+page,+error}.{svelte,ts,cs,server.ts,js,server.js}": "…/${dirname(2)}/${dirname(1)}/${dirname} (${filename}.${extname})"
},i.e. |
|
| "**/src/routes/+[layout|page|server|error]*": "/${filename}.${extname}", | ||
| "**/src/routes/*/+[layout|page|server|error]*": "/${dirname}/${filename}.${extname}", | ||
| "**/src/routes/*/*/**/+[layout|page|server|error]*": ".../${dirname}/${filename}.${extname}", | ||
| "**/+[layout|page|server|error]*": "${dirname}/${filename}.${extname}" |
There was a problem hiding this comment.
Alternative which shows pathname then file in paranthesis
| "**/+[layout|page|server|error]*": "${dirname}/${filename}.${extname}" | |
| "**/routes/{+server,+layout,+page,+error}.{svelte,ts,cs,server.ts,js,server.js}": "/ (${filename}.${extname})", | |
| "**/routes/*/{+server,+layout,+page,+error}.{svelte,ts,cs,server.ts,js,server.js}": "/${dirname} (${filename}.${extname})", | |
| "**/routes/*/*/{+server,+layout,+page,+error}.{svelte,ts,cs,server.ts,js,server.js}": "/${dirname(1)}/${dirname} (${filename}.${extname})", | |
| "**/routes/*/*/*/{+server,+layout,+page,+error}.{svelte,ts,cs,server.ts,js,server.js}": "/${dirname(2)}/${dirname(1)}/${dirname} (${filename}.${extname})", | |
| "**/routes/**/*/*/*/*/{+server,+layout,+page,+error}.{svelte,ts,cs,server.ts,js,server.js}": "…/${dirname(2)}/${dirname(1)}/${dirname} (${filename}.${extname})" |
There was a problem hiding this comment.
Personally, I've been using .. as a separator such as /about .. +page.svelte rather than the parenthesis suggested here



Uses the VS Code extension configuration defaults contribution point to:
Default
Label format
Custom labels