mirror of
https://github.com/coteditor/CotEditor.git
synced 2024-11-09 13:31:25 +03:00
Fix some issues on syntax file saving
This commit is contained in:
parent
7112746e4b
commit
1410048ad5
@ -256,7 +256,7 @@
|
||||
NSString *styleName = [[URL lastPathComponent] stringByDeletingPathExtension];
|
||||
|
||||
// 同名styleが既にあるときは、置換してもいいか確認
|
||||
if ([[CESyntaxManager sharedManager] existsStyleFileWithStyleName:styleName]) {
|
||||
if ([[[CESyntaxManager sharedManager] styleNames] containsObject:styleName]) {
|
||||
// オープンパネルを閉じる
|
||||
[openPanel orderOut:blockSelf];
|
||||
[[[blockSelf view] window] makeKeyAndOrderFront:blockSelf];
|
||||
|
@ -223,15 +223,23 @@
|
||||
|
||||
[[self styleNameField] setStringValue:styleName];
|
||||
|
||||
if (([self mode] == CECopySyntaxEdit) || ([self mode] == CENewSyntaxEdit)) {
|
||||
if ([styleName length] < 1) { // ファイル名としても使われるので、空は不可
|
||||
[[self messageField] setStringValue:NSLocalizedString(@"Input the Style Name!", nil)];
|
||||
NSBeep();
|
||||
[[[self styleNameField] window] makeFirstResponder:[self styleNameField]];
|
||||
return;
|
||||
} else if ([[CESyntaxManager sharedManager] existsStyleFileWithStyleName:styleName]) { // 既にある名前は不可
|
||||
[[self messageField] setStringValue:[NSString stringWithFormat:
|
||||
NSLocalizedString(@"“%@” is already exist. Input new name.", nil), styleName]];
|
||||
// style名のチェック
|
||||
if (([self mode] == CECopySyntaxEdit) || ([self mode] == CENewSyntaxEdit) ||
|
||||
(([self mode] == CESyntaxEdit) && ![styleName isEqualToString:[self originalStyleName]]))
|
||||
{
|
||||
NSString *errorMessage = nil;
|
||||
if ([styleName length] < 1) { // 空は不可
|
||||
errorMessage = NSLocalizedString(@"Input style name.", nil);
|
||||
} else if ([styleName rangeOfString:@"/"].location != NSNotFound) { // ファイル名としても使われるので、"/" が含まれる名前は不可
|
||||
errorMessage = NSLocalizedString(@"Style Name cannot contain “/”. Input another name.", nil);
|
||||
} else if ([styleName rangeOfString:@"."].location == 0) { // ファイル名としても使われるので、"." から始まる名前は不可
|
||||
errorMessage = NSLocalizedString(@"Style Name cannot begin with “.”. Input another name.", nil);
|
||||
} else if ([[[CESyntaxManager sharedManager] styleNames] containsObject:styleName]) { // 既にある名前は不可
|
||||
errorMessage = [NSString stringWithFormat:NSLocalizedString(@"“%@” is already exist. Input another name.", nil), styleName];
|
||||
}
|
||||
|
||||
if (errorMessage) {
|
||||
[[self messageField] setStringValue:errorMessage];
|
||||
NSBeep();
|
||||
[[[self styleNameField] window] makeFirstResponder:[self styleNameField]];
|
||||
return;
|
||||
|
@ -321,10 +321,10 @@ NSString *const CESyntaxListDidUpdateNotification = @"CESyntaxListDidUpdateNotif
|
||||
// 内部で持っているキャッシュ用データを更新
|
||||
[self updateCache];
|
||||
} else {
|
||||
NSLog(@"Error. Could not remove \"%@\"", URL);
|
||||
NSLog(@"Error. Could not remove \"%@\".", URL);
|
||||
}
|
||||
} else {
|
||||
NSLog(@"Error. Could not be found \"%@\" for remove", URL);
|
||||
NSLog(@"Error. Could not be found \"%@\" for remove.", URL);
|
||||
}
|
||||
return success;
|
||||
}
|
||||
@ -347,16 +347,18 @@ NSString *const CESyntaxListDidUpdateNotification = @"CESyntaxListDidUpdateNotif
|
||||
NSURL *URL = [self userStyleDirectoryURL];
|
||||
NSString *compareName = [originalName stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
|
||||
NSString *copyName;
|
||||
NSMutableString *copiedSyntaxName = [NSMutableString string];
|
||||
NSRange copiedStrRange;
|
||||
BOOL copiedState = NO;
|
||||
NSInteger i = 1;
|
||||
NSUInteger i = 2;
|
||||
|
||||
copiedStrRange = [compareName rangeOfRegularExpressionString:NSLocalizedString(@" copy$", nil)];
|
||||
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:NSLocalizedString(@" copy$", nil)
|
||||
options:0 error:nil];
|
||||
copiedStrRange = [regex rangeOfFirstMatchInString:compareName options:0 range:NSMakeRange(0, [compareName length])];
|
||||
if (copiedStrRange.location != NSNotFound) {
|
||||
copiedState = YES;
|
||||
} else {
|
||||
copiedStrRange = [compareName rangeOfRegularExpressionString:NSLocalizedString(@" copy [0-9]+$", nil)];
|
||||
regex = [NSRegularExpression regularExpressionWithPattern:NSLocalizedString(@" copy [0-9]+$", nil) options:0 error:nil];
|
||||
copiedStrRange = [regex rangeOfFirstMatchInString:compareName options:0 range:NSMakeRange(0, [compareName length])];
|
||||
if (copiedStrRange.location != NSNotFound) {
|
||||
copiedState = YES;
|
||||
}
|
||||
@ -368,11 +370,10 @@ NSString *const CESyntaxListDidUpdateNotification = @"CESyntaxListDidUpdateNotif
|
||||
} else {
|
||||
copyName = [NSString stringWithFormat:@"%@%@", compareName, NSLocalizedString(@" copy", nil)];
|
||||
}
|
||||
[copiedSyntaxName appendFormat:@"%@.plist", copyName];
|
||||
while ([[URL URLByAppendingPathExtension:copiedSyntaxName] checkResourceIsReachableAndReturnError:nil]) {
|
||||
i++;
|
||||
NSMutableString *copiedSyntaxName = [copyName mutableCopy];
|
||||
while ([[self styleNames] containsObject:copiedSyntaxName]) {
|
||||
[copiedSyntaxName setString:[NSString stringWithFormat:@"%@ %li", copyName, (long)i]];
|
||||
[copiedSyntaxName appendString:@".plist"];
|
||||
i++;
|
||||
}
|
||||
return [copiedSyntaxName stringByDeletingPathExtension];
|
||||
}
|
||||
|
@ -188,10 +188,11 @@ http://www.aynimac.com/
|
||||
|
||||
|
||||
/* CESyntaxManager */
|
||||
// Syntax coloring style name was set to blank message
|
||||
"Input the Style Name!" = "スタイル名を入力してください!";
|
||||
// Syntax coloring style name already exists
|
||||
"“%@” is already exist. Input new name." = "“%@” は既に使われています。ほかの名前を入力してください。";
|
||||
// Syntax coloring style name errors
|
||||
"Input style name." = "スタイル名を入力してください。";
|
||||
"“%@” is already exist. Input another name." = "“%@” は既に使われています。ほかの名前を入力してください。";
|
||||
"Style Name cannot contain “/”. Input another name." = "スタイル名に “/” を含むことはできません。ほかの名前を入力してください。";
|
||||
"Style Name cannot begin with “.”. Input another name." = "スタイル名を “.” から始めることはできません。ほかの名前を入力してください。";
|
||||
// selected Syntax coloring style name was original
|
||||
"The default style name cannot be changed." = "デフォルトのスタイル名は変更できません。";
|
||||
// Suffix of copied syntax coloring style
|
||||
|
@ -91,6 +91,8 @@ changelog (for developer)
|
||||
|
||||
- プリントヘッダ/フッタのページ数がすべて「-1-」になってしまう不具合のを修正
|
||||
- シンタックスカラーリング定義にコメントが含まれていないとき、クオート文字で囲まれた文字列がカラーリングされない不具合を修正
|
||||
- シンタックススタイル編集の保存時に一部条件下で、無効なスタイル名でも警告なしに保存ができないまま編集が終了していた不具合を修正
|
||||
- シンタックススタイル編集の保存時に一部条件下で、新しいスタイルと同名の既存スタイルがあったとき警告なしに上書きしていた不具合を修正
|
||||
- 日本語環境でバックスラッシュが含まれたキーバインディングが機能しない不具合を修正
|
||||
- 置換後、再カラーリングが実行されない不具合を修正
|
||||
- 環境設定のエンコーディングリストの文字列が編集可能だったのを修正
|
||||
|
Loading…
Reference in New Issue
Block a user