WEB-7126 $FileNameWithoutExtension$ needed to remove all extensions

This commit is contained in:
Fedor Korotkov
2013-03-14 22:04:25 +04:00
parent b09ba0f86d
commit e5bfb079fe
4 changed files with 44 additions and 0 deletions
@@ -0,0 +1,41 @@
/*
* Copyright 2000-2013 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.ide.macro;
import com.intellij.ide.IdeBundle;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.vfs.VirtualFile;
public class FileNameWithoutAllExtensions extends FileNameMacro {
public String getName() {
return "FileNameWithoutAllExtensions";
}
public String getDescription() {
return IdeBundle.message("macro.file.name.without.all.extensions");
}
public String expand(DataContext dataContext) {
VirtualFile file = PlatformDataKeys.VIRTUAL_FILE.getData(dataContext);
if (file == null) {
return null;
}
String fileName = file.getName();
int index = fileName.indexOf('.');
return index > 0 ? fileName.substring(0, index) : fileName;
}
}
@@ -54,6 +54,7 @@ public final class MacroManager {
registerMacro(new FileExtMacro());
registerMacro(new FileNameMacro());
registerMacro(new FileNameWithoutExtension());
registerMacro(new FileNameWithoutAllExtensions());
registerMacro(new FilePathMacro());
registerMacro(new FileEncodingMacro());
registerMacro(new FileDirRelativeToProjectRootMacro());
@@ -446,6 +446,7 @@ macro.file.extension=File extension
macro.file.fully.qualified.package=File fully qualified package
macro.file.name=File name
macro.file.name.without.extension=File name without extension
macro.file.name.without.all.extensions=File name without all extensions
macro.file.package=File package
macro.file.path=File path
macro.file.path.relative.to.root=File path relative to the module content root the file belongs to
@@ -91,6 +91,7 @@ public class PathMacrosImpl extends PathMacros implements ApplicationComponent,
"FileFQPackage",
"FileName",
"FileNameWithoutExtension",
"FileNameWithoutAllExtensions",
"FilePackage",
"FilePath",
"FilePathRelativeToProjectRoot",