├── .gitattributes ├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── MANIFEST.in ├── README.md ├── appveyor.yml ├── docs ├── PatternLanguage.md └── Walkthrough.md ├── guardonce ├── __init__.py ├── checkguard.py ├── guard2once.py ├── once2guard.py ├── pattern_compiler.py ├── template.py └── util.py ├── setup.cfg ├── setup.py └── tests ├── __init__.py ├── data ├── cp1252-guard.h ├── cp1252-once.h ├── newline-crlf-guard.h ├── newline-crlf-once.h ├── newline-lf-guard.h ├── newline-lf-once.h ├── utf8-bom-guard.h ├── utf8-bom-once.h └── utf8-bom-unprotected.h ├── integration ├── __init__.py ├── test_checkguard.py ├── test_guard2once.py ├── test_once2guard.py └── util.py ├── test_checkguard.py ├── test_guard2once.py ├── test_guess_guard.py ├── test_index_guard_end.py ├── test_index_guard_start.py ├── test_index_pragma_once.py ├── test_once2guard.py ├── test_pattern_compiler.py └── test_reversible.py /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include LICENSE 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/README.md -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/appveyor.yml -------------------------------------------------------------------------------- /docs/PatternLanguage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/docs/PatternLanguage.md -------------------------------------------------------------------------------- /docs/Walkthrough.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/docs/Walkthrough.md -------------------------------------------------------------------------------- /guardonce/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /guardonce/checkguard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/guardonce/checkguard.py -------------------------------------------------------------------------------- /guardonce/guard2once.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/guardonce/guard2once.py -------------------------------------------------------------------------------- /guardonce/once2guard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/guardonce/once2guard.py -------------------------------------------------------------------------------- /guardonce/pattern_compiler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/guardonce/pattern_compiler.py -------------------------------------------------------------------------------- /guardonce/template.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/guardonce/template.py -------------------------------------------------------------------------------- /guardonce/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/guardonce/util.py -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [wheel] 2 | universal = 1 3 | 4 | [metadata] 5 | license_file = LICENSE 6 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/setup.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/data/cp1252-guard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/data/cp1252-guard.h -------------------------------------------------------------------------------- /tests/data/cp1252-once.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/data/cp1252-once.h -------------------------------------------------------------------------------- /tests/data/newline-crlf-guard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/data/newline-crlf-guard.h -------------------------------------------------------------------------------- /tests/data/newline-crlf-once.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct Match { 4 | bool ok; 5 | }; 6 | -------------------------------------------------------------------------------- /tests/data/newline-lf-guard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/data/newline-lf-guard.h -------------------------------------------------------------------------------- /tests/data/newline-lf-once.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct Match { 4 | bool ok; 5 | }; 6 | -------------------------------------------------------------------------------- /tests/data/utf8-bom-guard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/data/utf8-bom-guard.h -------------------------------------------------------------------------------- /tests/data/utf8-bom-once.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct Match { 4 | bool ok; 5 | }; 6 | -------------------------------------------------------------------------------- /tests/data/utf8-bom-unprotected.h: -------------------------------------------------------------------------------- 1 | struct Match { 2 | bool ok; 3 | }; 4 | -------------------------------------------------------------------------------- /tests/integration/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/test_checkguard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/integration/test_checkguard.py -------------------------------------------------------------------------------- /tests/integration/test_guard2once.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/integration/test_guard2once.py -------------------------------------------------------------------------------- /tests/integration/test_once2guard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/integration/test_once2guard.py -------------------------------------------------------------------------------- /tests/integration/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/integration/util.py -------------------------------------------------------------------------------- /tests/test_checkguard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/test_checkguard.py -------------------------------------------------------------------------------- /tests/test_guard2once.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/test_guard2once.py -------------------------------------------------------------------------------- /tests/test_guess_guard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/test_guess_guard.py -------------------------------------------------------------------------------- /tests/test_index_guard_end.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/test_index_guard_end.py -------------------------------------------------------------------------------- /tests/test_index_guard_start.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/test_index_guard_start.py -------------------------------------------------------------------------------- /tests/test_index_pragma_once.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/test_index_pragma_once.py -------------------------------------------------------------------------------- /tests/test_once2guard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/test_once2guard.py -------------------------------------------------------------------------------- /tests/test_pattern_compiler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/test_pattern_compiler.py -------------------------------------------------------------------------------- /tests/test_reversible.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgmb/guardonce/HEAD/tests/test_reversible.py --------------------------------------------------------------------------------