Using dashes prevents the code from building, which is annoying if you quickly want to test some hack. With underscore we get the same effect but the code still builds.
		
			
				
	
	
		
			27 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| set -e
 | |
| 
 | |
| # rust-analyzer doesn't support hiding noisy test calls in the call hierarchy from tests/benches
 | |
| # so, here's some wild hack from ryoqun!
 | |
| 
 | |
| if [[ $1 = "doit" ]]; then
 | |
|   # it's true that we put true just for truely-aligned lines
 | |
|   # shellcheck disable=SC2046 # our rust files are sanely named with no need to escape
 | |
|   true &&
 | |
|     sed -i -e 's/#\[cfg(test)\]/#[cfg(escaped_cfg_test)]/g' $(git ls-files :**.rs :^**/build.rs) &&
 | |
|     sed -i -e 's/#\[bench\]/#[cfg(escaped_bench)]/g' $(git ls-files :**.rs :^**/build.rs) &&
 | |
|     sed -i -e 's/#\[test\]/#[cfg(escaped_test)]/g' $(git ls-files :**.rs :^**/build.rs) &&
 | |
|     sed -i -e 's/#\[tokio::test\]/#[cfg(escaped_tokio_test)]/g' $(git ls-files :**.rs :^**/build.rs)
 | |
| elif [[ $1 = "undoit" ]]; then
 | |
|   # shellcheck disable=SC2046 # our rust files are sanely named with no need to escape
 | |
|   true &&
 | |
|     sed -i -e 's/#\[cfg(escaped_cfg_test)\]/#[cfg(test)]/g' $(git ls-files :**.rs :^**/build.rs) &&
 | |
|     sed -i -e 's/#\[cfg(escaped_bench)\]/#[bench]/g' $(git ls-files :**.rs :^**/build.rs) &&
 | |
|     sed -i -e 's/#\[cfg(escaped_test)\]/#[test]/g' $(git ls-files :**.rs :^**/build.rs) &&
 | |
|     sed -i -e 's/#\[cfg(escaped_tokio_test)\]/#[tokio::test]/g' $(git ls-files :**.rs :^**/build.rs)
 | |
| else
 | |
|   echo "usage: $0 [doit|undoit]" > /dev/stderr
 | |
|   exit 1
 | |
| fi
 |