YCM now working on new buffers with ft set
We used to demand a name be set for the buffer. Fixes #568.
This commit is contained in:
parent
915d092364
commit
a9d7105e1b
@ -87,7 +87,10 @@ function! youcompleteme#Enable()
|
|||||||
" is read. This is because youcompleteme#Enable() is called on VimEnter and
|
" is read. This is because youcompleteme#Enable() is called on VimEnter and
|
||||||
" that happens *after" BufRead/BufEnter has already triggered for the
|
" that happens *after" BufRead/BufEnter has already triggered for the
|
||||||
" initial file.
|
" initial file.
|
||||||
autocmd BufRead,BufEnter * call s:OnBufferVisit()
|
" We also need to trigger buf init code on the FileType event because when
|
||||||
|
" the user does :enew and then :set ft=something, we need to run buf init
|
||||||
|
" code again.
|
||||||
|
autocmd BufRead,BufEnter,FileType * call s:OnBufferVisit()
|
||||||
autocmd BufUnload * call s:OnBufferUnload( expand( '<afile>:p' ) )
|
autocmd BufUnload * call s:OnBufferUnload( expand( '<afile>:p' ) )
|
||||||
autocmd CursorHold,CursorHoldI * call s:OnCursorHold()
|
autocmd CursorHold,CursorHoldI * call s:OnCursorHold()
|
||||||
autocmd InsertLeave * call s:OnInsertLeave()
|
autocmd InsertLeave * call s:OnInsertLeave()
|
||||||
|
@ -85,13 +85,14 @@ class BaseRequest( object ):
|
|||||||
|
|
||||||
def BuildRequestData( start_column = None, query = None ):
|
def BuildRequestData( start_column = None, query = None ):
|
||||||
line, column = vimsupport.CurrentLineAndColumn()
|
line, column = vimsupport.CurrentLineAndColumn()
|
||||||
|
filepath = vimsupport.GetCurrentBufferFilepath()
|
||||||
request_data = {
|
request_data = {
|
||||||
'filetypes': vimsupport.CurrentFiletypes(),
|
'filetypes': vimsupport.CurrentFiletypes(),
|
||||||
'line_num': line,
|
'line_num': line,
|
||||||
'column_num': column,
|
'column_num': column,
|
||||||
'start_column': start_column,
|
'start_column': start_column,
|
||||||
'line_value': vim.current.line,
|
'line_value': vim.current.line,
|
||||||
'filepath': vim.current.buffer.name,
|
'filepath': filepath,
|
||||||
'file_data': vimsupport.GetUnsavedAndCurrentBufferData()
|
'file_data': vimsupport.GetUnsavedAndCurrentBufferData()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ def GetUnsavedAndCurrentBufferData():
|
|||||||
buffer_object == vim.current.buffer ):
|
buffer_object == vim.current.buffer ):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
buffers_data[ buffer_object.name ] = {
|
buffers_data[ GetBufferFilepath( buffer_object ) ] = {
|
||||||
'contents': '\n'.join( buffer_object ),
|
'contents': '\n'.join( buffer_object ),
|
||||||
'filetypes': FiletypesForBuffer( buffer_object )
|
'filetypes': FiletypesForBuffer( buffer_object )
|
||||||
}
|
}
|
||||||
@ -83,6 +83,18 @@ def GetBufferNumberForFilename( filename, open_file_if_needed = True ):
|
|||||||
int( open_file_if_needed ) ) ) )
|
int( open_file_if_needed ) ) ) )
|
||||||
|
|
||||||
|
|
||||||
|
def GetCurrentBufferFilepath():
|
||||||
|
return GetBufferFilepath( vim.current.buffer )
|
||||||
|
|
||||||
|
|
||||||
|
def GetBufferFilepath( buffer_object ):
|
||||||
|
if buffer_object.name:
|
||||||
|
return buffer_object.name
|
||||||
|
# Buffers that have just been created by a command like :enew don't have any
|
||||||
|
# buffer name so we use the buffer number for that.
|
||||||
|
return os.path.join( os.getcwd(), str( buffer_object.number ) )
|
||||||
|
|
||||||
|
|
||||||
# Given a dict like {'a': 1}, loads it into Vim as if you ran 'let g:a = 1'
|
# Given a dict like {'a': 1}, loads it into Vim as if you ran 'let g:a = 1'
|
||||||
# When |overwrite| is True, overwrites the existing value in Vim.
|
# When |overwrite| is True, overwrites the existing value in Vim.
|
||||||
def LoadDictIntoVimGlobals( new_globals, overwrite = True ):
|
def LoadDictIntoVimGlobals( new_globals, overwrite = True ):
|
||||||
@ -111,7 +123,7 @@ def JumpToLocation( filename, line, column ):
|
|||||||
# Add an entry to the jumplist
|
# Add an entry to the jumplist
|
||||||
vim.command( "normal! m'" )
|
vim.command( "normal! m'" )
|
||||||
|
|
||||||
if filename != vim.current.buffer.name:
|
if filename != GetCurrentBufferFilepath():
|
||||||
# We prefix the command with 'keepjumps' so that opening the file is not
|
# We prefix the command with 'keepjumps' so that opening the file is not
|
||||||
# recorded in the jumplist. So when we open the file and move the cursor to
|
# recorded in the jumplist. So when we open the file and move the cursor to
|
||||||
# a location in it, the user can use CTRL-O to jump back to the original
|
# a location in it, the user can use CTRL-O to jump back to the original
|
||||||
|
@ -116,7 +116,8 @@ class YouCompleteMe( object ):
|
|||||||
|
|
||||||
def NativeFiletypeCompletionAvailable( self ):
|
def NativeFiletypeCompletionAvailable( self ):
|
||||||
try:
|
try:
|
||||||
return _NativeFiletypeCompletionAvailableForFile( vim.current.buffer.name )
|
return _NativeFiletypeCompletionAvailableForFile(
|
||||||
|
vimsupport.GetCurrentBufferFilepath() )
|
||||||
except:
|
except:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user