C ++テンプレートをうまくインデントするvimプラグイン/マクロ/関数を持っているか知っている人はいますか?
vim .hpp/.h ファイルのテンプレート定義を強調表示し、「=」でインデントすると、次のようになります。
> template <
> class TFilter,
> class TParser,
> class TConsumer,
> class TDataProcessor,
> class TDataFeed,
> class TSymbolMap
> >
> struct DataFeedTraits
> {
> typedef TFilter Filter;
> typedef TParser<TSymbolMap> Parser;
> typedef TConsumer<Parser> Consumer;
> typedef TDataProcessor<Filter,Consumer> DataProcessor;
> typedef TDataFeed<Filter,DataProcessor,Parser,Ccnsumer> DataFeed;
> };
cindent は、構造体/クラスの宣言を閉じ括弧 '>' に合わせていると思います。フォーマットされている限り、正確なフォーマットは問題ではありません。
template <
class TFilter,
class TParser,
class TConsumer,
class TDataProcessor,
class TDataFeed,
class TSymbolMap
>
struct DataFeedTraits
{
typedef TFilter Filter;
typedef TParser<TSymbolMap> Parser;
typedef TConsumer<Parser> Consumer;
typedef TDataProcessor<Filter,Consumer> DataProcessor;
typedef TDataFeed<Filter,DataProcessor,Parser,Ccnsumer> DataFeed;
};