vim-jp / vim-cpp

c or cpp syntax files
147 stars 44 forks source link

C++1y binary literals and digit separator #23

Open msimonsson opened 10 years ago

msimonsson commented 10 years ago

Clang 3.4 supports both: http://clang.llvm.org/cxx_status.html#cxx14

#include <iostream>

int main()
{
    int n = 1'000'000;
    std::cout << n << std::endl;

    unsigned char c = 0b0100'0000;
    std::cout << c << std::endl;

    return 0;
}

I'm new to Vim syntax files, but the following seems to work for binary literals:

syn match   cNumber     display contained "0b[01]\+\(\'[01]\+\)*"
rhysd commented 9 years ago

I added binary literal in #31. Please review it if you can. And as far as I tried, digit separater seems not to be broken in current highlighting.

rhysd commented 9 years ago

I noticed that digit separater may break highlight.

int main()
{
    111'2'333;
    return 0;
}

Here, '2' is highlighted by Character and other parts are highlighted by Number.