diff --git a/lib/cheat_wrapper.py b/lib/cheat_wrapper.py index 602342c..fdcaff6 100644 --- a/lib/cheat_wrapper.py +++ b/lib/cheat_wrapper.py @@ -27,24 +27,9 @@ def _add_section_name(query): return query if ' ' in query: return re.sub(r' +', '/', query, count=1) - elif '+' in query: - delim = "+" - - index = 0 - length = len(query) - while index != length: - - index = query.index(delim, index) + 1 - - try: - comparison = query.index(delim, index) - except ValueError: - comparison = -1 - - if (index != comparison and index != length): - return "%s/%s" % (query[:index-1], query[index:]) - - return query + if '+' in query: + # replace only single + to avoid catching g++ and friends + return re.sub(r'([^\+])\+([^\+])', r'\1/\2', query, count=1) def cheat_wrapper(query, request_options=None, output_format='ansi'): """ diff --git a/lib/cheat_wrapper_test.py b/lib/cheat_wrapper_test.py index 9d85be5..72449ab 100644 --- a/lib/cheat_wrapper_test.py +++ b/lib/cheat_wrapper_test.py @@ -13,6 +13,7 @@ btrfs~volume python/copy+file python/rosetta/:list emacs:go-mode/:list +g++g++ """ split = """ @@ -22,6 +23,9 @@ python/copy file python file python/file +python+file +python/file + g++ -O1 g++/-O1 """