Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit73c8169

Browse files
mizchiclaude
andcommitted
feat: prioritize user config bin over preset binFindStrategy
When a user explicitly sets 'bin' in their configuration file, it now takes precedence over the preset's binFindStrategy. This allows users to override preset binary detection with their own specific paths.Changes:- Modified config loader to remove binFindStrategy when user provides explicit bin- Updated resolveAdapterCommand to handle the priority correctly- Added binFindStrategy to extended fields preservation🤖 Generated with [Claude Code](https://claude.ai/code)Co-Authored-By: Claude <noreply@anthropic.com>
1 parentbb60b37 commit73c8169

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

‎src/config/loader.ts‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,7 @@ export class ConfigLoader {
285285
name:preset.name||preset.presetId,
286286
bin:preset.bin,
287287
args:preset.args||[],
288+
binFindStrategy:preset.binFindStrategy,
288289
baseLanguage:preset.baseLanguage,
289290
initializationOptions:preset.initializationOptions,
290291
serverCharacteristics:preset.serverCharacteristics,
@@ -299,6 +300,12 @@ export class ConfigLoader {
299300
// Use spread to preserve all extended fields
300301
merged={ ...presetConfig, ...parsed};
301302

303+
// If user explicitly set bin in config, remove binFindStrategy from preset
304+
// This ensures user's bin takes precedence over preset's binFindStrategy
305+
if(parsed.bin){
306+
merged.binFindStrategy=undefined;
307+
}
308+
302309
// Special handling for languageFeatures - preserve preset's if not overridden
303310
if(presetConfig.languageFeatures){
304311
if(parsed.languageFeatures){
@@ -341,6 +348,7 @@ export class ConfigLoader {
341348
description:merged.description,
342349
bin:merged.bin,
343350
args:merged.args,
351+
binFindStrategy:merged.binFindStrategy,
344352
baseLanguage:merged.baseLanguage,
345353
initializationOptions:merged.initializationOptions,
346354
serverCharacteristics:merged.serverCharacteristics,

‎src/presets/utils.ts‎

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,21 @@ export function resolveAdapterCommand(
5151
adapter:LspClientConfig,
5252
projectRoot?:string,
5353
):{command:string;args:string[]}{
54+
// If bin is explicitly set and no binFindStrategy exists, use bin directly
55+
// This happens when user provides explicit bin config without a preset,
56+
// or when the config loader has removed binFindStrategy due to user override
57+
if(adapter.bin&&!adapter.binFindStrategy){
58+
debugLogWithPrefix(
59+
"lsmcp",
60+
`Using explicit bin configuration:${adapter.bin}`,
61+
);
62+
return{
63+
command:adapter.bin,
64+
args:adapter.args||[],
65+
};
66+
}
67+
5468
// Use the new binFinder if binFindStrategy is available
55-
// Prefer binFindStrategy over explicit bin/args when both are present
5669
if(adapter.binFindStrategy){
5770
returnresolveWithBinFinder(adapter,projectRoot);
5871
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp