diff options
Diffstat (limited to 'gdb/contrib')
-rwxr-xr-x | gdb/contrib/spellcheck.sh | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/gdb/contrib/spellcheck.sh b/gdb/contrib/spellcheck.sh index a95b325..0223885 100755 --- a/gdb/contrib/spellcheck.sh +++ b/gdb/contrib/spellcheck.sh @@ -218,8 +218,10 @@ output_local_dictionary () output_dictionaries () { - output_local_dictionary - cat "$dictionary" + ( + output_local_dictionary + cat "$dictionary" + ) | grep -E -v "[A-Z]" } parse_dictionary () @@ -247,7 +249,14 @@ find_files_matching_words () else rm -f "$cache_dir/$cache_file2".* - pat=$(grep_join "${words[@]}") + declare -a re_words + mapfile -t re_words \ + < <(for f in "${words[@]}"; do + echo "$f" + done \ + | sed "s/^\(.\)/[\u\1\1]/") + + pat=$(grep_join "${re_words[@]}") local before after before=$(grep_join \ @@ -283,6 +292,8 @@ find_files_matching_word () "${grep_separators[@]}" \ "${grep_post[@]}") + pat="(${pat@u}|$pat)" + pat="$before$pat$after" grep -E \ @@ -310,11 +321,13 @@ replace_word_in_file () "${sed_separators[@]}" \ "${sed_post[@]}") - local repl - repl="s%$before$word$after%\1$replacement\2%g" + local repl1 + local repl2 + repl1="s%$before$word$after%\1$replacement\2%g" + repl2="s%$before${word@u}$after%\1${replacement@u}\2%g" sed -i \ - "$repl" \ + "$repl1;$repl2" \ "$file" } |