diff --git a/README.md b/README.md index 73509caf..24d9e76f 100644 --- a/README.md +++ b/README.md @@ -141,6 +141,7 @@ The Fuck tries to match rule for the previous command, create new command using matched rule and run it. Rules enabled by default: * `brew_unknown_command` – fixes wrong brew commands, for example `brew docto/brew doctor`; +* `c++11` – add missing `-std=c++11` to `g++` or `clang++`; * `cd_parent` – changes `cd..` to `cd ..`; * `cd_mkdir` – creates directories before cd'ing into them; * `cp_omitting_directory` – adds `-a` when you `cp` directory; diff --git a/thefuck/rules/c++11.py b/thefuck/rules/c++11.py new file mode 100644 index 00000000..f4d8ab5a --- /dev/null +++ b/thefuck/rules/c++11.py @@ -0,0 +1,11 @@ +def match(command, settings): + return (('g++' in command.script or 'clang++' in command.script) and + ('This file requires compiler and library support for the ' + 'ISO C++ 2011 standard.' in command.stderr or + '-Wc++11-extensions' in command.stderr + ) + ) + + +def get_new_command(command, settings): + return command.script + ' -std=c++11'