diff --git a/.travis.yml b/.travis.yml index 4a7b229..b6bbb76 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,28 @@ -dist: trusty sudo: false language: cpp -compiler: g++ -install: export CXX="g++-6" -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - g++-6 +matrix: + include: + - os: linux + dist: xenial + sudo: require + addons: + apt: + sources: + - sourceline: 'ppa:ubuntu-toolchain-r/test' + packages: + - g++-7 + env: + - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" + + - os: osx + osx_image: xcode10 + compiler: clang + env: + - MATRIX_EVAL="CC=clang && CXX=clang++" + +before_install: + # This is necessary to solve https://github.com/travis-ci/travis-ci/issues/9649 + - eval "${MATRIX_EVAL}" script: - mkdir tmp diff --git a/include/maddy/emphasizedparser.h b/include/maddy/emphasizedparser.h index 56d43dc..6838d83 100644 --- a/include/maddy/emphasizedparser.h +++ b/include/maddy/emphasizedparser.h @@ -41,7 +41,7 @@ public: void Parse(std::string& line) override { - static std::regex re("(?!.*`.*|.*.*)\\_(?!.*`.*|.*<\\/code>.*)([^\\_]*)\\_(?!.*`.*|.*<\\/code>.*)"); + static std::regex re("(?!.*`.*|.*.*)_(?!.*`.*|.*<\\/code>.*)([^_]*)_(?!.*`.*|.*<\\/code>.*)"); static std::string replacement = "$1"; line = std::regex_replace(line, re, replacement); diff --git a/include/maddy/strongparser.h b/include/maddy/strongparser.h index c2dc441..589dacc 100644 --- a/include/maddy/strongparser.h +++ b/include/maddy/strongparser.h @@ -44,7 +44,7 @@ public: static std::vector res { std::regex{"(?!.*`.*|.*.*)\\*\\*(?!.*`.*|.*<\\/code>.*)([^\\*\\*]*)\\*\\*(?!.*`.*|.*<\\/code>.*)"}, - std::regex{"(?!.*`.*|.*.*)\\_\\_(?!.*`.*|.*<\\/code>.*)([^\\_\\_]*)\\_\\_(?!.*`.*|.*<\\/code>.*)"} + std::regex{"(?!.*`.*|.*.*)__(?!.*`.*|.*<\\/code>.*)([^__]*)__(?!.*`.*|.*<\\/code>.*)"} }; static std::string replacement = "$1"; for (const auto& re : res)