1

コードのフォーマットにUncrustifyを使用しました。

ただし、Uncrustifyは、LLVM4.0の新しいObjective-C構文をサポートしていません。

私は何をするつもりですか?

Uncrustifyによってフォーマットされたコード:

@interface SJTLLVM4Tester()
@property (strong) NSNumber *number;
@end

@implementation SJTLLVM4Tester
-(id)init {
    self = [super init];
    if (self) {
        self.number = @'C';
        self.number = @123;
        self.number = @0x123ul;
        self.number = @-1.2e-3f;
        self.number = @YES;

        NSDictionary *dictionary = @{@"key1":@1,@"key2":@2,@"key3":@3};
        NSMutableArray *array = [[NSMutableArray alloc] initWithArray:@[@1,@2,@3]];

        self.number = dictionary[@"key1"];
        array[0] = self.number;
    }
    return self;
}
@end

実行結果: 結果

4

1 に答える 1

1

これは、最新のuncrustifyリリースで修正されています:0.60。

ここで入手できます: https ://github.com/bengardner/uncrustify/archive/uncrustify-0.60.tar.gz

私はBrewを使用しており、URLとSHA1を手動で更新する必要がbrew edit uncrustifyありましたbrew upgrade uncrustify

以下は私の新しい式です:

require 'formula'

class Uncrustify < Formula
  url 'http://downloads.sourceforge.net/project/uncrustify/uncrustify/uncrustify-0.60/uncrustify-0.60.tar.gz'
  head 'https://github.com/bengardner/uncrustify.git'
  homepage 'http://uncrustify.sourceforge.net/'
  sha1 '769a7649a1cefb80beff9b67b11b4b87a8cc8e0e'

  def install
    system "./configure", "--prefix=#{prefix}", "--disable-dependency-tracking"
    system "make install"
  end
end

今では魅力のように機能します。

于 2013-01-07T19:33:31.047 に答える