{"push_id":798609177,"size":9,"distinct_size":1,"ref":"refs/heads/windows-ycm-core-tests-build","head":"d31c43c22cd4541000eef64835fdab1168203047","before":"ab15b2a0e191152a3a1432ffa26d623989aedc58","commits":[{"sha":"015f566208be93227ccdf89c8c2d673a1202a727","author":{"email":"1a73af9e7ae00182733b2292511b814be66f065f@micbou.com","name":"micbou"},"message":"Do not delay parsing of templates on Windows\n\nOn Windows, parsing of templates is delayed until instantation time.\nThis makes GetType and GetParent commands not returning the expected\nresult when the cursor is in templates.\nUsing the -fno-delayed-template-parsing flag disables this behavior.\nSee http://clang.llvm.org/extra/PassByValueTransform.html#note-about-delayed-template-parsing\nfor an explanation of the flag and\nhttps://code.google.com/p/include-what-you-use/source/detail?r=566\nfor a similar issue.\nFix two RunCompleterCommand_GetParent_Clang tests on Windows.","distinct":false,"url":"https://api.github.com/repos/micbou/ycmd/commits/015f566208be93227ccdf89c8c2d673a1202a727"},{"sha":"722050ee404c0857acd1081e807bdf38672c7f36","author":{"email":"1a73af9e7ae00182733b2292511b814be66f065f@micbou.com","name":"micbou"},"message":"Fix Gmock tests on Windows\n\nFix IdentifierUtilsTest.ExtractIdentifiersFromTagsFileWorks test.","distinct":false,"url":"https://api.github.com/repos/micbou/ycmd/commits/722050ee404c0857acd1081e807bdf38672c7f36"},{"sha":"e6c409f82487904f761cc26eb2ec714c6191c6e1","author":{"email":"5c2bd99229d434a2f7174ea3f8798d821bc7f9ae@barosl.com","name":"Homu"},"message":"Auto merge of #228 - micbou:windows-gmock-tests, r=Valloric\n\n[Windows support] Fix Gmock tests\n\nThe filesystem boost library will not consider a path like `/foo/zoo` as absolute on Windows. As a result, `path.is_relative()` will return true and the computed path will be wrong. To obtain the right path, we need to use the [fs::absolute](http://www.boost.org/doc/libs/1_46_0/libs/filesystem/v3/doc/reference.html#absolute) function.\r\nThe [make_preferred](http://www.boost.org/doc/libs/1_46_0/libs/filesystem/v3/doc/reference.html#path-make_preferred) method converts slashes to backslahes on Windows.\r\n\r\nFix IdentifierUtilsTest.ExtractIdentifiersFromTagsFileWorks test.","distinct":false,"url":"https://api.github.com/repos/micbou/ycmd/commits/e6c409f82487904f761cc26eb2ec714c6191c6e1"},{"sha":"34a167f6fcb9a1378c517c1491e49497970a9aa1","author":{"email":"de3e21482d297103c92e3a0cd1e3574c8553d0bf@gmail.com","name":"Ben Jackson"},"message":"Support GetDoc subcommand for Clang completer\n\nThe GetDoc subcommand returns detailed information (sometimes known as\nQuickInfo) for the identifier at a particular location.\n\nWe display:\n\n  <declaration of the identifier>\n  <brief>\n  Type: <canonical type>\n  Name: <display name>\n  ---\n\n  <Detailed information from the doxygen comment>\n\nClang actually has very rich support for parsing of doxygen comments. However,\nthis API is not strictly part of the \"libclang\" API - it is technically a\nseparate module. The core libclang module does include methods to get the raw\ncomment string (as typed in the buffer) and the \"brief\" as parsed by the full\ndocumentation parser.\n\nAnnoyingly, we have to get a fully parsed XML document out of the non-core API\njust to extract the declaration. There does not appear to be any other way to\nget this out of libclang.\n\nRegarding the detailed information, we actually use the raw comment text, rather\nthan the parsed infomation from the XML. This is because we don't want to write\na lot of complex code, and we also don't want to lose any actual data from the\ncomment. However, we do want to remove distracting indentation and comment\nmarkets. We jsut use some basic regular expressions and python's textwrap to\nremove the general syntax markers used on comments.","distinct":false,"url":"https://api.github.com/repos/micbou/ycmd/commits/34a167f6fcb9a1378c517c1491e49497970a9aa1"},{"sha":"77b5da7659ce8c38bf277fcaee2eee502216377e","author":{"email":"1a73af9e7ae00182733b2292511b814be66f065f@micbou.com","name":"micbou"},"message":"Add AppVeyor configuration","distinct":false,"url":"https://api.github.com/repos/micbou/ycmd/commits/77b5da7659ce8c38bf277fcaee2eee502216377e"},{"sha":"2dc716a34ac632bf7b2019cfb2acb3b18a411497","author":{"email":"5c2bd99229d434a2f7174ea3f8798d821bc7f9ae@barosl.com","name":"Homu"},"message":"Auto merge of #229 - puremourning:getdoc-clang, r=Valloric\n\nSupport GetDoc subcommand for Clang completer\n\nReferences \r\n====\r\n\r\nFeature request: https://github.com/Valloric/YouCompleteMe/issues/1653\r\nYCM change: https://github.com/Valloric/YouCompleteMe/pull/1694\r\n\r\nOverview\r\n====\r\n\r\nThe GetDoc subcommand returns detailed information (sometimes known as\r\nQuickInfo) for the identifier at a particular location.\r\n\r\nFor C-family languages, we display:\r\n\r\n```\r\n  <declaration of the identifier>\r\n  <brief>\r\n  Type: <canonical type>\r\n  Name: <display name>\r\n  ---\r\n  <Detailed information from the doxygen comment>\r\n```\r\n\r\nTechnical Information \r\n===\r\n\r\nClang actually has very rich support for parsing of doxygen comments. However,\r\nthis API is not strictly part of the \"libclang\" API - it is technically a\r\nseparate module. The core libclang module does include methods to get the raw\r\ncomment string (as typed in the buffer) and the \"brief\" as parsed by the full\r\ndocumentation parser.\r\n\r\nAnnoyingly, we have to get a fully parsed XML document out of the non-core API\r\njust to extract the declaration. There does not appear to be any other way to\r\nget this out of libclang.\r\n\r\nRegarding the detailed information, we actually use the raw comment text, rather\r\nthan the parsed infomation from the XML. This is because we don't want to write\r\na lot of complex code, and we also don't want to lose any actual data from the\r\ncomment. However, we do want to remove distracting indentation and comment\r\nmarkets. We jsut use some basic regular expressions and python's textwrap to\r\nremove the general syntax markers used on comments.\r\n\r\nAPI Changes\r\n====\r\n\r\nCompleter subcommands can now return 'detailed info' using `ycmd.responses.BuildDetailedInfoResponse`, as follows:\r\n\r\n```\r\n{\r\n   detailed_info: <multi-line string, with OS-specific line endings>\r\n}\r\n```","distinct":false,"url":"https://api.github.com/repos/micbou/ycmd/commits/2dc716a34ac632bf7b2019cfb2acb3b18a411497"},{"sha":"efd0420b5d1452468b6aaa1b2b8958da59b713cb","author":{"email":"5c2bd99229d434a2f7174ea3f8798d821bc7f9ae@barosl.com","name":"Homu"},"message":"Auto merge of #223 - micbou:windows-no-delayed-templates, r=Valloric\n\n[Windows support] Do not delay parsing of templates on Windows\n\nThis PR is a delicate one.\r\n\r\nOn Windows, templates are not parsed until instantation time which makes commands like GetType and GetParent not returning the expected value when the cursor is inside a template. To fix this, we add the flag `-fno-delayed-template-parsing` on Windows (this is the default on other platforms). We also add it to the `RunCompleterCommand_GetParent_Clang` tests to fix two tests on Windows.\r\n\r\nHowever, there are some concerns about adding automatically this flag. From this comment (see this [issue](https://code.google.com/p/include-what-you-use/issues/detail?id=129))\r\n> When IWYU runs on Windows it defaults to MSVC compatibility, to be able to parse Microsoft's STL  and Platform SDK headers. Turning off delayed template parsing will likely make it fail to parse these system headers, in turn making IWYU useless.\r\n\r\nusing this flag could cause some problems, though I was not able to find an example where ycmd is not working because of this flag.\r\n\r\nA more conservative approach would be to only use this flag for the tests and add a note about it in the documentation.","distinct":false,"url":"https://api.github.com/repos/micbou/ycmd/commits/efd0420b5d1452468b6aaa1b2b8958da59b713cb"},{"sha":"0080f747bfbe79befb6f111de61029c34e41a25c","author":{"email":"5c2bd99229d434a2f7174ea3f8798d821bc7f9ae@barosl.com","name":"Homu"},"message":"Auto merge of #231 - micbou:windows-appveyor, r=Valloric\n\n[Windows support] Add AppVeyor configuration\n\n@Valloric You can create an AppVeyor account or we can use mine. I will update the badge accordingly.","distinct":false,"url":"https://api.github.com/repos/micbou/ycmd/commits/0080f747bfbe79befb6f111de61029c34e41a25c"},{"sha":"d31c43c22cd4541000eef64835fdab1168203047","author":{"email":"1a73af9e7ae00182733b2292511b814be66f065f@micbou.com","name":"micbou"},"message":"Fix ycm_core_tests build on Windows","distinct":true,"url":"https://api.github.com/repos/micbou/ycmd/commits/d31c43c22cd4541000eef64835fdab1168203047"}]}