mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-30 22:54:14 +00:00 
			
		
		
		
	#422: Add alter_history settings option
				
					
				
			This commit is contained in:
		| @@ -283,6 +283,7 @@ The Fuck has a few settings parameters which can be changed in `$XDG_CONFIG_HOME | ||||
| * `priority` – dict with rules priorities, rule with lower `priority` will be matched first; | ||||
| * `debug` – enables debug output, by default `False`; | ||||
| * `history_limit` – numeric value of how many history commands will be scanned, like `2000`; | ||||
| * `alter_history` – push fixed command to history, by default `True`. | ||||
|  | ||||
| Example of `settings.py`: | ||||
|  | ||||
| @@ -306,7 +307,8 @@ Or via environment variables: | ||||
| * `THEFUCK_PRIORITY` – priority of the rules, like `no_command=9999:apt_get=100`, | ||||
| rule with lower `priority` will be matched first; | ||||
| * `THEFUCK_DEBUG` – enables debug output, `true/false`; | ||||
| * `THEFUCK_HISTORY_LIMIT` – how many history commands will be scanned, like `2000`. | ||||
| * `THEFUCK_HISTORY_LIMIT` – how many history commands will be scanned, like `2000`; | ||||
| * `THEFUCK_ALTER_HISTORY` – push fixed command to history `true/false`. | ||||
|  | ||||
| For example: | ||||
|  | ||||
|   | ||||
| @@ -17,6 +17,7 @@ DEFAULT_SETTINGS = {'rules': DEFAULT_RULES, | ||||
|                     'debug': False, | ||||
|                     'priority': {}, | ||||
|                     'history_limit': None, | ||||
|                     'alter_history': True, | ||||
|                     'env': {'LC_ALL': 'C', 'LANG': 'C', 'GIT_TRACE': '1'}} | ||||
|  | ||||
| ENV_TO_ATTR = {'THEFUCK_RULES': 'rules', | ||||
| @@ -24,9 +25,10 @@ ENV_TO_ATTR = {'THEFUCK_RULES': 'rules', | ||||
|                'THEFUCK_WAIT_COMMAND': 'wait_command', | ||||
|                'THEFUCK_REQUIRE_CONFIRMATION': 'require_confirmation', | ||||
|                'THEFUCK_NO_COLORS': 'no_colors', | ||||
|                'THEFUCK_PRIORITY': 'priority', | ||||
|                'THEFUCK_DEBUG': 'debug', | ||||
|                'THEFUCK_HISTORY_LIMIT': 'history_limit'} | ||||
|                'THEFUCK_PRIORITY': 'priority', | ||||
|                'THEFUCK_HISTORY_LIMIT': 'history_limit', | ||||
|                'THEFUCK_ALTER_HISTORY': 'alter_history'} | ||||
|  | ||||
| SETTINGS_HEADER = u"""# The Fuck settings file | ||||
| # | ||||
| @@ -126,7 +128,8 @@ class Settings(dict): | ||||
|             return dict(self._priority_from_env(val)) | ||||
|         elif attr == 'wait_command': | ||||
|             return int(val) | ||||
|         elif attr in ('require_confirmation', 'no_colors', 'debug'): | ||||
|         elif attr in ('require_confirmation', 'no_colors', 'debug', | ||||
|                       'alter_history'): | ||||
|             return val.lower() == 'true' | ||||
|         elif attr == 'history_limit': | ||||
|             return int(val) | ||||
|   | ||||
| @@ -278,6 +278,7 @@ class CorrectedCommand(object): | ||||
|         """ | ||||
|         if self.side_effect: | ||||
|             compatibility_call(self.side_effect, old_cmd, self.script) | ||||
|         if settings.alter_history: | ||||
|             shells.put_to_history(self.script) | ||||
|         # This depends on correct setting of PYTHONIOENCODING by the alias: | ||||
|         print(self.script) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user