Commit Graph

791 Commits

Author SHA1 Message Date
Zeh Rizzatti
c6aefaef86 Select correct triggers for multiple filetypes
The base class completer Inner chose the first filetype available and
would use the triggers for it.

The triggers are now chosen considering the first for the current buffer
that is supported by the current completer. If there is no intersection,
it fallsback to considering the first filetype for the buffer.
2013-03-03 01:52:56 -04:00
Zeh Rizzatti
ac1e04fc14 Check for a native completer with multiple filetypes
GetFiletypeCompleter would always return a omnicompleter for the first
filetype in case there was no native completer, and the lookup would
stop.

This changes that behaviour to get all possible completers and tries to
find a native one among them. If no native completer is found, it
returns the omnicompleter for the first filetypes, as it used to.
2013-03-02 22:14:22 -04:00
Zeh Rizzatti
1acd3e84c7 Support for multile filetypes in clang_completer
clang_completer would check if the raw value of '&ft' was one of
supported filetypes for the completer.

Vim allows for multiple filetypes with a '.' separator. A file with
ft=qt.cpp, for example, would not be supported by clang_completer even
though it was a cpp file.

This patch changes that behaviour.
2013-03-02 22:02:29 -04:00
Strahinja Val Markovic
5d97e709f5 Adding the any_of.hpp file to BoostParts
Fixes #171, fixes #170
2013-03-02 08:39:03 -08:00
Strahinja Val Markovic
a6e83bfe76 Smart-case sensitive filtering
Fixes #120
2013-03-01 22:18:43 -08:00
Strahinja Val Markovic
831c122d06 Placating the compiler playing dumb about types 2013-03-01 20:34:01 -08:00
Strahinja Val Markovic
54ea5db7cc Refactor for loop into std algo call 2013-03-01 20:15:36 -08:00
Strahinja Val Markovic
c8a9d0590e boost::array instead of std::vector in nodelist
This should provide a minor performance boost & memory reduction.
2013-03-01 20:10:12 -08:00
Strahinja Val Markovic
dae3dcdd9e Style fixes and minor refactoring 2013-03-01 20:09:55 -08:00
Strahinja Val Markovic
6d64a841bb Updating vimdoc from readme 2013-03-01 18:40:02 -08:00
Strahinja Val Markovic
d2db03b021 Better error message when unable to get diags
Fixes #72.
2013-03-01 18:37:10 -08:00
Strahinja Val Markovic
9dd1e68002 More Xs in mktemp to placate Slackware
Fixes #168.
2013-03-01 18:07:39 -08:00
Strahinja Val Markovic
9e0318d229 Not using the system libclang by default
We used to do this but it was unsafe, as issue #167 proves. YCM has to give
libclang an include to YCM's copy of clang system headers (again, see issue #167
for details) and those headers may not be valid for a newer libclang.

If the user really wants to user the system libclang, then he can just always
call cmake himself. The installation guide in the README goes to great lengths
to explain the simple process of building YCM "by hand".

Fixes #167.
2013-03-01 18:03:28 -08:00
Strahinja Val Markovic
67bf88b726 Minor rewording in the README 2013-02-28 09:57:56 -08:00
Strahinja Val Markovic
980a1c2ffc Minor post-PR changes 2013-02-28 09:54:22 -08:00
Strahinja Val Markovic
aafcd4264d Merge branch 'globlist' of github.com:kljohann/YouCompleteMe into kljohann-globlist
Conflicts:
	python/completers/cpp/flags.py
2013-02-28 09:51:38 -08:00
Val Markovic
c24d272df6 Merge pull request #155 from kljohann/reload
Implement completer-specific commands
2013-02-28 09:49:11 -08:00
Johann Klähn
1d566bad80 Implement white-/blacklisting 2013-02-28 18:15:09 +01:00
Johann Klähn
3d305f9c74 Implement completer-specific commands
This provides a framework for completer-writers to create
completer-specific commands. I have in mind to use this for the clang
completer to force reloading of a flags module via `:YcmCompleter reload`.
2013-02-28 11:32:07 +01:00
Strahinja Val Markovic
719b497daa More reliable way of adding -fPIC.
Fixes #162
2013-02-27 19:43:41 -08:00
Strahinja Val Markovic
263b405ab4 Very minor post-pull style-related changes. 2013-02-26 18:28:58 -08:00
Strahinja Val Markovic
95b9eeee18 Merge branch 'master' of github.com:kljohann/YouCompleteMe into kljohann-master 2013-02-26 18:21:46 -08:00
Johann Klähn
e9cce29761 Ask before loading .ycm_extra_conf.py files
To prevent the execution of malicious code the new default is
to ask the user before a `.ycm_extra_conf.py` file is loaded.
This can be disabled using the option `g:ycm_confirm_extra_conf`.

This commit introduces a helper class `FlagsModules` that keeps track of
and caches the currently loaded modules. To introduce further criteria
for a module look at `FlagsModules.ShouldLoad`.

Also `:YcmDebugInfo` now lists the file that was used to determine
the current set of flags.

`Flags.ModuleForFile` could be used in a user-facing command that
opens the `.ycm_extra_conf.py` corresponding to the current file.
A second command could then force a reloding of this module via
`Flags.ReloadModule`.
2013-02-26 11:16:26 +01:00
Strahinja Val Markovic
bae3665602 Adding semantic triggers for Go 2013-02-25 19:09:58 -08:00
Strahinja Val Markovic
05f707344b Updating docs with semantic trigger changes 2013-02-25 11:21:25 -08:00
Val Markovic
c6cf813b7a Merge pull request #154 from blueyed/trigger_for_static_php
g:ycm_semantic_triggers: add '::' to triggers for PHP
2013-02-25 11:16:26 -08:00
Daniel Hahler
f78b9dc29c g:ycm_semantic_triggers: add '::' to triggers for PHP 2013-02-25 11:09:51 +01:00
Johann Klähn
4b3e0a1895 Add code to ask user for confirmation in vimsupport 2013-02-25 10:50:44 +01:00
Johann Klähn
70a2a722fe Add GetBoolValue helper in vimsupport 2013-02-25 10:50:39 +01:00
Strahinja Val Markovic
a6a238bcf6 Deleting outdated comment 2013-02-24 14:46:58 -08:00
Strahinja Val Markovic
eb7bec4fdd Refactoring ClangCompleter to use ResultAnd<> 2013-02-23 17:54:04 -08:00
Strahinja Val Markovic
fb62030122 A few more clang cursorkinds supported
Now C-family completion will have fewer compeletion strings labeled as 'u' kind.
2013-02-23 17:34:10 -08:00
Strahinja Val Markovic
78dd01804d Docs linking to Windows installation wiki page
That wiki page along with the last several commits that make YCM compiled
cleanly with MSVC should make it possible to use YCM on Windows. Fixes #62.
2013-02-23 16:50:21 -08:00
Strahinja Val Markovic
f71b003e9b Removing ycm_core.dll as allowed name
I'm pretty sure that allowing ycm_core.dll was wrong. Python docs state that the
extension for compiled Python modules on Widows is "pyd"; see this link for more
details: http://docs.python.org/2/faq/windows.html#is-a-pyd-file-the-same-as-a-dll

Key quote from the page:
"Of course, foo.pyd is required if you want to say import foo."

CMakeLists.txt has been previously updated to produce a ycm_core.pyd on Windows,
not a ycm_core.dll.
2013-02-23 16:11:15 -08:00
Strahinja Val Markovic
3e5ecd6015 ycm_core should be ycm_core.pyd on Windows 2013-02-23 16:10:36 -08:00
Strahinja Val Markovic
6786d4e71b More style fixes 2013-02-23 15:57:55 -08:00
Val Markovic
ce58bc7d75 ycm_core now compiles cleanly with MSVC 2013-02-23 15:57:55 -08:00
Strahinja Val Markovic
e1584a33b0 Code style fixes 2013-02-23 15:54:44 -08:00
Strahinja Val Markovic
c819c9f31e Typo fix 2013-02-23 13:08:56 -08:00
Strahinja Val Markovic
46297a1c30 Downloading x86 libclang for Ubuntu x86 2013-02-23 12:54:17 -08:00
Strahinja Val Markovic
78b5ef93cf Ubuntu install docs now mention build-essential 2013-02-23 11:44:58 -08:00
Strahinja Val Markovic
2fdfa85a73 Parallel build support for install script
We now pass the number of CPUs as the make -j argument.

Fixes #139
2013-02-23 10:30:33 -08:00
Strahinja Val Markovic
98ff82ece5 Removing falsy items from omnifunc returned items
Depending on the omnifunc the user has set, it could return empty strings etc in
the list of items.

Fixes #146, fixes #147
2013-02-23 09:55:13 -08:00
Strahinja Val Markovic
c1700c7d19 Handle omnifunc returning dict with 'words' 2013-02-23 09:35:07 -08:00
Val Markovic
c61c9f6051 Merge pull request #145 from jspricke/master
Clean up after build
2013-02-22 08:52:52 -08:00
Jochen Sprickerhof
a59750505b Clean up build dir in install.sh 2013-02-22 13:17:09 +01:00
Strahinja Val Markovic
fd2fd60f7c Identifier collection now smarter about strings
Previously, a string like 'foo\'bar\'zoo' would make the collection process
think that "bar" is not inside a string because it wouldn't recognize that the
quotes are escaped. Now it does.

Fixes #143.
2013-02-21 22:14:31 -08:00
Strahinja Val Markovic
101d949a88 Splitting echo text on \n and echoing lines 2013-02-21 10:50:38 -08:00
Strahinja Val Markovic
e60928d721 Updating error message on missing ycm_extra_conf 2013-02-20 13:16:18 -08:00
Val Markovic
7d15912efa Merge pull request #137 from benjie/patch-1
Fix README typo for g:ycm_semantic_triggers value
2013-02-20 10:32:00 -08:00