Skip to content

Commit 5fac158

Browse files
committed
Apply review points
1 parent 4f677d7 commit 5fac158

7 files changed

Lines changed: 6 additions & 97 deletions

File tree

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -292,11 +292,11 @@ let g:ycm_completer_settings = {
292292
\}
293293
```
294294

295-
**Supported keys**: `java`/`jdtls`, `go`/`gopls`, `rust`/`rust-analyzer`,
296-
`cpp`/`c`/`objc`/`objcpp`/`cuda`/`clangd`
295+
**Supported keys**: `java`, `go`, `rust`, `cpp`/`c`/`objc`/`objcpp`/`cuda`.
297296

298-
**Settings priority**: hardcoded defaults < `g:ycm_completer_settings` <
299-
`.ycm_extra_conf.py`
297+
**Settings priority**: hardcoded defaults have the lowest priorities,
298+
then to set user's defaults `g:ycm_completer_settings`, and finally the
299+
settings from the `ls` key returned by the `Settings()` function in `.ycm_extra_conf.py`
300300

301301
##### `language_server` configuration
302302

ycmd/completers/cpp/clangd_completer.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -239,10 +239,6 @@ def GetServerName( self ):
239239
return 'Clangd'
240240

241241

242-
def GetBinaryName( self ):
243-
return 'clangd'
244-
245-
246242
def GetCommandLine( self ):
247243
return self._clangd_command
248244

ycmd/completers/go/go_completer.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,6 @@ def GetServerName( self ):
5757
return 'gopls'
5858

5959

60-
def GetBinaryName( self ):
61-
return 'gopls'
62-
63-
6460
def GetProjectRootFiles( self ):
6561
# Without LSP workspaces support, GOPLS relies on the rootUri to detect a
6662
# project.

ycmd/completers/java/java_completer.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -643,11 +643,6 @@ def GetServerName( self ):
643643
return 'jdt.ls'
644644

645645

646-
def GetBinaryName( self ):
647-
# Return 'jdtls' without the dot for cleaner configuration key
648-
return 'jdtls'
649-
650-
651646
def GetCommandLine( self ):
652647
return self._command
653648

ycmd/completers/language_server/language_server_completer.py

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1883,35 +1883,6 @@ def DefaultSettings( self, request_data ):
18831883
return {}
18841884

18851885

1886-
def GetBinaryName( self ):
1887-
"""Returns the binary/alias name for this completer to use as a lookup key.
1888-
1889-
Subclasses should override this to return the server binary name
1890-
(e.g., 'gopls', 'rust-analyzer', 'jdtls', 'clangd').
1891-
1892-
Returns None by default (no alias support).
1893-
"""
1894-
return None
1895-
1896-
1897-
def GetCompleterSettingsLookupKeys( self ):
1898-
"""Returns a list of keys to look up in user_options['completer_settings'].
1899-
1900-
The keys are checked in order and the first match is used. This allows
1901-
supporting both language names (primary) and server binary names (aliases).
1902-
1903-
Default implementation returns SupportedFiletypes() and GetBinaryName().
1904-
1905-
Returns:
1906-
List of strings representing the lookup keys in priority order.
1907-
"""
1908-
keys = list( self.SupportedFiletypes() )
1909-
binary_name = self.GetBinaryName()
1910-
if binary_name and binary_name not in keys:
1911-
keys.append( binary_name )
1912-
return keys
1913-
1914-
19151886
def _GetSettingsFromExtraConf( self, request_data ):
19161887
# The DefaultSettings method returns only the 'language server" ('ls')
19171888
# settings, but self._settings is a wider dict containing a 'ls' key and any
@@ -1922,7 +1893,7 @@ def _GetSettingsFromExtraConf( self, request_data ):
19221893
merged_ls_settings = self.DefaultSettings( request_data )
19231894

19241895
# Layer 2: Merge with global settings from g:ycm_completer_settings
1925-
lookup_keys = self.GetCompleterSettingsLookupKeys()
1896+
lookup_keys = self.SupportedFiletypes()
19261897
completer_settings = self.user_options.get( 'completer_settings', {} )
19271898

19281899
# Find first matching key and detect duplicates

ycmd/completers/rust/rust_completer.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,6 @@ def GetServerName( self ):
9292
return 'Rust Language Server'
9393

9494

95-
def GetBinaryName( self ):
96-
return 'rust-analyzer'
97-
98-
9995
def GetCommandLine( self ):
10096
return [ self._ra_path ]
10197

ycmd/tests/language_server/language_server_completer_test.py

Lines changed: 1 addition & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1585,27 +1585,6 @@ def test_LanguageServerCompleter_DistanceOfPointToRange_MultiLineRange(
15851585
class LanguageServerCompleterSettings_test( TestCase ):
15861586
"""Tests for completer_settings configuration option."""
15871587

1588-
@IsolatedYcmd()
1589-
def test_GetCompleterSettingsLookupKeys_DefaultImpl( self, app ):
1590-
# Base implementation returns supported filetypes only
1591-
completer = MockCompleter()
1592-
completer.SupportedFiletypes = lambda: [ 'test' ]
1593-
1594-
keys = completer.GetCompleterSettingsLookupKeys()
1595-
assert_that( keys, equal_to( [ 'test' ] ) )
1596-
1597-
1598-
@IsolatedYcmd()
1599-
def test_GetCompleterSettingsLookupKeys_WithBinaryName( self, app ):
1600-
# When GetBinaryName() returns a value, it's appended to the list
1601-
completer = MockCompleter()
1602-
completer.SupportedFiletypes = lambda: [ 'test' ]
1603-
completer.GetBinaryName = lambda: 'test-server'
1604-
1605-
keys = completer.GetCompleterSettingsLookupKeys()
1606-
assert_that( keys, equal_to( [ 'test', 'test-server' ] ) )
1607-
1608-
16091588
@IsolatedYcmd( {
16101589
'completer_settings': {
16111590
'test': {
@@ -1619,7 +1598,6 @@ def test_GetSettingsFromExtraConf_WithCompleterSettings_PrimaryKey( self,
16191598
# Test that primary key (language name) is used from completer_settings
16201599
completer = MockCompleter()
16211600
completer.SupportedFiletypes = lambda: [ 'test' ]
1622-
completer.GetBinaryName = lambda: 'test-server'
16231601
completer.DefaultSettings = lambda req: { 'setting1': 'hardcoded' }
16241602

16251603
request_data = BuildRequest( filepath = '/tmp/test.test',
@@ -1635,28 +1613,6 @@ def test_GetSettingsFromExtraConf_WithCompleterSettings_PrimaryKey( self,
16351613

16361614

16371615

1638-
@IsolatedYcmd( {
1639-
'completer_settings': {
1640-
'test-server': {
1641-
'setting1': 'from_alias'
1642-
}
1643-
}
1644-
} )
1645-
def test_GetSettingsFromExtraConf_WithCompleterSettings_AliasKey( self, app ):
1646-
# Test that alias key (binary name) works when primary key is not present
1647-
completer = MockCompleter()
1648-
completer.SupportedFiletypes = lambda: [ 'test' ]
1649-
completer.GetBinaryName = lambda: 'test-server'
1650-
completer.DefaultSettings = lambda req: { 'setting1': 'hardcoded' }
1651-
1652-
request_data = BuildRequest( filepath = '/tmp/test.test',
1653-
filetype = 'test' )
1654-
completer._GetSettingsFromExtraConf( request_data )
1655-
1656-
assert_that( completer._settings[ 'ls' ][ 'setting1' ],
1657-
equal_to( 'from_alias' ) )
1658-
1659-
16601616
@IsolatedYcmd( {
16611617
'completer_settings': {
16621618
'test': { 'setting1': 'from_primary' },
@@ -1668,8 +1624,7 @@ def test_GetSettingsFromExtraConf_WithDuplicateKeys_UsesFirst( self, app ):
16681624
with patch( 'ycmd.completers.language_server.'
16691625
'language_server_completer.LOGGER' ) as logger:
16701626
completer = MockCompleter()
1671-
completer.SupportedFiletypes = lambda: [ 'test' ]
1672-
completer.GetBinaryName = lambda: 'test-server'
1627+
completer.SupportedFiletypes = lambda: [ 'test', 'test-server' ]
16731628
completer.DefaultSettings = lambda req: {}
16741629

16751630
request_data = BuildRequest( filepath = '/tmp/test.test',

0 commit comments

Comments
 (0)