編輯:正則表達式/ Unix的工具插入新行在C每個函數的定義開始前++文件
indent -bap foo.cpp
工作
有沒有簡單的方法來插入新在C++文件中的每個函數定義的開始之前插入或插入文本?
int main() {
return 0;
}
void foo() {
}
成爲
int main() {
return 0;
}
void foo() {
}
編輯:正則表達式/ Unix的工具插入新行在C每個函數的定義開始前++文件
indent -bap foo.cpp
工作
有沒有簡單的方法來插入新在C++文件中的每個函數定義的開始之前插入或插入文本?
int main() {
return 0;
}
void foo() {
}
成爲
int main() {
return 0;
}
void foo() {
}
在Perl:
while(my $line = <>)
{
$line =~ s/^\}[ \t]*$/}\n/;
print $line;
}
這也將在每個命名空間的末尾插入一些(但不是結構或類,因爲他們有一個分號在結束)。你可能會更聰明,以避免這種情況,但我懷疑這可能是矯枉過正。
這也明顯不會捕獲在類聲明中內聯定義的函數。我不確定這是否是一個對您來說很重要的案例。
今天,我發現Unix中的縮進程序非常有用。看到我上面的答案。 – user855 2009-11-28 21:39:00
...很難得到正則表達式來解析HTML,現在你想它做C? – int3 2009-11-28 21:33:10
我知道這很難。我正在尋找更多的工具來完成它。改變了這個問題,使其更加清晰。 – user855 2009-11-28 21:34:58
你可以做「indent -bap foo.cpp」。這工作! – user855 2009-11-28 21:36:33