diff --git a/README.md b/README.md index fad9240c..bec24dc3 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,8 @@ The following platform, shell combinations and tools are supported as selections - Finder **All OS** +- Open with / Edit + - Eclipse - Full Path : line number - Copy to clipboard: - Full Path - Full Path Unix (@Windows) @@ -162,6 +164,12 @@ The following substitution variables are available for building the command: - ```${easyshell:resource_basename}``` = name of file without extension - ```${easyshell:resource_extension}``` = extension of file name (without '.') - ```${easyshell:resource_path}``` = relative path to workspace of file or directory +- ```${easyshell:resource_line_number}``` = line number (within view or editor) +- ```${easyshell:selected_text_start_line}``` = selected text start line (within view or editor), it's equal to ${easyshell:resource_line_number} +- ```${easyshell:selected_text_end_line}``` = selected text end line (within view or editor) +- ```${easyshell:selected_text_length}``` = selected text length (within view or editor) +- ```${easyshell:selected_text_offset}``` = selected text offset (within view or editor) +- ```${easyshell:selected_text}``` = selected text (within view or editor) - ```${easyshell:container_loc}``` = absolute path of file directory or directory itself - ```${easyshell:container_name}``` = name of file directory or directory itself - ```${easyshell:container_path}``` = relative path to workspace of file directory or directory itself diff --git a/plugin/images/edit.png b/plugin/images/edit.png new file mode 100644 index 00000000..a3923ae2 Binary files /dev/null and b/plugin/images/edit.png differ diff --git a/plugin/src/de/anbos/eclipse/easyshell/plugin/Constants.java b/plugin/src/de/anbos/eclipse/easyshell/plugin/Constants.java index 277bb8c4..f834f6b6 100644 --- a/plugin/src/de/anbos/eclipse/easyshell/plugin/Constants.java +++ b/plugin/src/de/anbos/eclipse/easyshell/plugin/Constants.java @@ -25,6 +25,7 @@ public interface Constants { public static final String IMAGE_NONE = "none"; public static final String IMAGE_DEFAULT = "default"; public static final String IMAGE_OPEN = "open"; + public static final String IMAGE_EDIT = "edit"; public static final String IMAGE_RUN = "run"; public static final String IMAGE_EXPLORE = "explore"; public static final String IMAGE_CLIPBOARD = "clipboard"; diff --git a/plugin/src/de/anbos/eclipse/easyshell/plugin/handlers/All.java b/plugin/src/de/anbos/eclipse/easyshell/plugin/handlers/All.java index debe517b..49ad5b0a 100644 --- a/plugin/src/de/anbos/eclipse/easyshell/plugin/handlers/All.java +++ b/plugin/src/de/anbos/eclipse/easyshell/plugin/handlers/All.java @@ -13,6 +13,9 @@ package de.anbos.eclipse.easyshell.plugin.handlers; +import java.util.ArrayList; +import java.util.List; + import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; @@ -76,13 +79,13 @@ public Object execute(ExecutionEvent event) throws ExecutionException { return null; } - public MenuDataList getMenuDataList(Category category) { - MenuDataList menuDataList = MenuDataStore.instance().getEnabledCommandMenuDataListByCategory(category); + public MenuDataList getMenuDataList(List categories) { + MenuDataList menuDataList = MenuDataStore.instance().getEnabledCommandMenuDataListByCategories(categories); return menuDataList; } public MenuDataList getMenuDataList(ResourceType resTypeWanted) { - MenuDataList menuDataList = getMenuDataList(getCategory()); + MenuDataList menuDataList = getMenuDataList(getCategories()); MenuDataList menuDataListSupported = new MenuDataList(); for (MenuData menuData : menuDataList) { ResourceType resTypeSupported; @@ -103,6 +106,12 @@ public Category getCategory() { return Category.categoryUnknown; } + public List getCategories() { + List list = new ArrayList(); + list.add(getCategory()); + return list; + } + public String getTitle() { String postfix = getCategory() == Category.categoryUnknown ? "" : " - " + getCategory().getName(); return Activator.getResourceString("easyshell.plugin.name") + postfix; diff --git a/plugin/src/de/anbos/eclipse/easyshell/plugin/handlers/Open.java b/plugin/src/de/anbos/eclipse/easyshell/plugin/handlers/Open.java index 770a980c..8ca04dcb 100644 --- a/plugin/src/de/anbos/eclipse/easyshell/plugin/handlers/Open.java +++ b/plugin/src/de/anbos/eclipse/easyshell/plugin/handlers/Open.java @@ -13,6 +13,9 @@ package de.anbos.eclipse.easyshell.plugin.handlers; +import java.util.ArrayList; +import java.util.List; + import de.anbos.eclipse.easyshell.plugin.types.Category; public class Open extends AllSingle { @@ -22,4 +25,12 @@ public Category getCategory() { return Category.categoryOpen; } + @Override + public List getCategories() { + List list = new ArrayList(); + list.add(getCategory()); + list.add(Category.categoryEdit); + return list; + } + } diff --git a/plugin/src/de/anbos/eclipse/easyshell/plugin/misc/ResourceUtils.java b/plugin/src/de/anbos/eclipse/easyshell/plugin/misc/ResourceUtils.java index 3496e755..aee2b7d5 100644 --- a/plugin/src/de/anbos/eclipse/easyshell/plugin/misc/ResourceUtils.java +++ b/plugin/src/de/anbos/eclipse/easyshell/plugin/misc/ResourceUtils.java @@ -61,8 +61,11 @@ static public ISelection getResourceSelection(Object obj) { } if (editor != null) { ITextSelection sel = (ITextSelection)editor.getSelectionProvider().getSelection(); - String text = sel.getText(); - selection = getSelectionFromText(resource, text); + //String text = sel.getText(); + //selection = getSelectionFromText(resource, text); + if (resource != null) { + resource.setTextSelection(sel); + } } } else if (obj instanceof IWorkbenchPart) { try { @@ -79,7 +82,7 @@ static public ISelection getResourceSelection(Object obj) { return selection; } - private static ISelection getSelectionFromText(Resource partFile, String text) { + static public ISelection getSelectionFromText(Resource partFile, String text) { ISelection selection = null; if (text != null && !text.isEmpty()) { String lines[] = text.split("\\r?\\n"); diff --git a/plugin/src/de/anbos/eclipse/easyshell/plugin/preferences/CommandDataDefaultCollectionAllOS.java b/plugin/src/de/anbos/eclipse/easyshell/plugin/preferences/CommandDataDefaultCollectionAllOS.java index 24f1865d..86f137f5 100644 --- a/plugin/src/de/anbos/eclipse/easyshell/plugin/preferences/CommandDataDefaultCollectionAllOS.java +++ b/plugin/src/de/anbos/eclipse/easyshell/plugin/preferences/CommandDataDefaultCollectionAllOS.java @@ -26,6 +26,7 @@ public class CommandDataDefaultCollectionAllOS { static public void addCommandsAll(CommandDataList list) { addCommandsConsole(list); + addCommandsEditor(list); addCommandsFileBrowser(list); addCommandsClipboard(list); } @@ -54,6 +55,13 @@ private static void addCommandsConsole(CommandDataList list) { "pwsh -command \"Start-Process pwsh -Verb RunAs -ArgumentList '-NoExit', '-Command', 'cd ${easyshell:container_loc} ; ./${easyshell:resource_name}'\"")); } + private static void addCommandsEditor(CommandDataList list) { + OS os = Utils.getOS(); + // Eclipse Editor + list.add(new CommandData("dc8dd567-6ac0-49ec-8fcd-ed61e677ea3d", PresetType.presetPlugin, os, "Eclipse", ResourceType.resourceTypeFile, false, null, Category.categoryEdit, CommandType.commandTypeExecute, CommandTokenizer.commandTokenizerSpacesAndQuotesSkip, + "eclipse -name Eclipse --launcher.openFile ${easyshell:resource_loc}:${easyshell:resource_line_number}")); + } + private static void addCommandsFileBrowser(CommandDataList list) { OS os = Utils.getOS(); String cmdPrefix = ""; @@ -92,6 +100,25 @@ private static void addCommandsClipboard(CommandDataList list) { // Clipboard - Qualified Name with quotes list.add(new CommandData("cd32fa5a-34d7-4551-8bd0-3aae0dc444d0", PresetType.presetPlugin, os, "\"Qualified Name\"", ResourceType.resourceTypeFileOrDirectory, false, null, Category.categoryClipboard, CommandType.commandTypeClipboard, CommandTokenizer.commandTokenizerDisabled, "\"${easyshell:qualified_name}\"${easyshell:line_separator}")); + // Clipboard - Full Path with line number = selected text start line + list.add(new CommandData("434dfc65-4efd-42e1-be5a-f108661e51a1", PresetType.presetPlugin, os, "Full Path : line number", ResourceType.resourceTypeFile, false, null, Category.categoryClipboard, CommandType.commandTypeClipboard, CommandTokenizer.commandTokenizerSpacesAndQuotesSkip, + "${easyshell:resource_loc}:${easyshell:resource_line_number}")); + // Clipboard - Full Path with selected text end line + list.add(new CommandData("840831f3-fb2f-45f3-8db4-14007757d576", PresetType.presetPlugin, os, "Full Path : selected text end line", ResourceType.resourceTypeFile, false, null, Category.categoryClipboard, CommandType.commandTypeClipboard, CommandTokenizer.commandTokenizerSpacesAndQuotesSkip, + "${easyshell:resource_loc}:${easyshell:selected_text_end_line}")); + // Clipboard - Full Path with with selected text start and end line + list.add(new CommandData("65f40ff6-e920-4bd4-96d9-33e0a6fb8725", PresetType.presetPlugin, os, "Full Path : selected text start line : end line", ResourceType.resourceTypeFile, false, null, Category.categoryClipboard, CommandType.commandTypeClipboard, CommandTokenizer.commandTokenizerSpacesAndQuotesSkip, + "${easyshell:resource_loc}:${easyshell:selected_text_start_line}:${easyshell:selected_text_end_line}")); + // Clipboard - selected text length + list.add(new CommandData("74e122dc-64fa-4444-8f58-f4ab04ebc9e3", PresetType.presetPlugin, os, "Selected text length", ResourceType.resourceTypeFile, false, null, Category.categoryClipboard, CommandType.commandTypeClipboard, CommandTokenizer.commandTokenizerSpacesAndQuotesSkip, + "${easyshell:selected_text_length}")); + // Clipboard - selected text offset + list.add(new CommandData("ab5cb337-60da-429c-a0a7-0b37071b6a50", PresetType.presetPlugin, os, "Selected text offset", ResourceType.resourceTypeFile, false, null, Category.categoryClipboard, CommandType.commandTypeClipboard, CommandTokenizer.commandTokenizerSpacesAndQuotesSkip, + "${easyshell:selected_text_offset}")); + // Clipboard - selected text + list.add(new CommandData("93442258-28b7-4297-9611-34733fa76161", PresetType.presetPlugin, os, "Selected text", ResourceType.resourceTypeFile, false, null, Category.categoryClipboard, CommandType.commandTypeClipboard, CommandTokenizer.commandTokenizerSpacesAndQuotesSkip, + "${easyshell:selected_text}")); + // Clipboard - Variables Test String varTestString = ""; for(int i=Variable.getFirstIndex();i categories) { MenuDataList checkedItems = new MenuDataList(); Iterator dataIterator = getDataList().iterator(); while(dataIterator.hasNext()) { MenuData data = (MenuData)dataIterator.next(); try { - if(data.isEnabled() && (category == Category.categoryUnknown || data.getCommandData().getCategory() == category)) { + if(data.isEnabled() && (categories.contains(Category.categoryUnknown) || categories.contains(data.getCommandData().getCategory()))) { checkedItems.add(data); } } catch (UnknownCommandID e) { @@ -77,7 +79,9 @@ public MenuDataList getEnabledCommandMenuDataListByCategory(Category category) { } public MenuDataList getEnabledCommandMenuDataList() { - return getEnabledCommandMenuDataListByCategory(Category.categoryUnknown); + List list = new ArrayList(); + list.add(Category.categoryUnknown); + return getEnabledCommandMenuDataListByCategories(list); } public MenuData[] getEnabledCommandMenuDataArray() { diff --git a/plugin/src/de/anbos/eclipse/easyshell/plugin/types/Category.java b/plugin/src/de/anbos/eclipse/easyshell/plugin/types/Category.java index 169c764f..2a20b367 100644 --- a/plugin/src/de/anbos/eclipse/easyshell/plugin/types/Category.java +++ b/plugin/src/de/anbos/eclipse/easyshell/plugin/types/Category.java @@ -27,7 +27,8 @@ public enum Category { categoryRun(2, "Run", Constants.IMAGE_RUN), categoryExplore(3, "Explore", Constants.IMAGE_EXPLORE), categoryClipboard(4, "Clipboard", Constants.IMAGE_CLIPBOARD), - categoryUser(5, "User", Constants.IMAGE_USER); + categoryUser(5, "User", Constants.IMAGE_USER), + categoryEdit(6, "Edit", Constants.IMAGE_EDIT); // attributes private final int id; private final String name; diff --git a/plugin/src/de/anbos/eclipse/easyshell/plugin/types/MenuNameType.java b/plugin/src/de/anbos/eclipse/easyshell/plugin/types/MenuNameType.java index 1822eb20..86a6ce26 100644 --- a/plugin/src/de/anbos/eclipse/easyshell/plugin/types/MenuNameType.java +++ b/plugin/src/de/anbos/eclipse/easyshell/plugin/types/MenuNameType.java @@ -21,11 +21,12 @@ public enum MenuNameType { menuNameTypeUser( 0, "User defined", "${easyshell:command_name}"), menuNameTypeDefaultApplication( 1, "Open with default application", "Open with default Application"), menuNameTypeOpenHere( 2, "Open Here", "Open ${easyshell:command_name} Here"), - menuNameTypeRunWith( 3, "Run with ", "Run with ${easyshell:command_name}"), - menuNameTypeShowIn( 4, "Show in ", "Show in ${easyshell:command_name}"), - menuNameTypeCopyToClipboard( 5, "Copy to Clipboard", "Copy ${easyshell:command_name} to Clipboard"), - menuNameTypeGeneric1( 6, ": ", "${easyshell:command_category}: ${easyshell:command_name}"), - menuNameTypeGeneric2( 7, " with ", "${easyshell:command_category} with ${easyshell:command_name}"), + menuNameTypeOpenWith( 3, "Open with ", "Open with ${easyshell:command_name}"), + menuNameTypeRunWith( 4, "Run with ", "Run with ${easyshell:command_name}"), + menuNameTypeShowIn( 5, "Show in ", "Show in ${easyshell:command_name}"), + menuNameTypeCopyToClipboard( 6, "Copy to Clipboard", "Copy ${easyshell:command_name} to Clipboard"), + menuNameTypeGeneric1( 7, ": ", "${easyshell:command_category}: ${easyshell:command_name}"), + menuNameTypeGeneric2( 8, " with ", "${easyshell:command_category} with ${easyshell:command_name}"), menuNameTypeGeneric3( 9, " with ", "${easyshell:command_category} with ${easyshell:command_os} ${easyshell:command_name}"); // attributes private final int id; diff --git a/plugin/src/de/anbos/eclipse/easyshell/plugin/types/Resource.java b/plugin/src/de/anbos/eclipse/easyshell/plugin/types/Resource.java index 08a938d8..863a4f80 100644 --- a/plugin/src/de/anbos/eclipse/easyshell/plugin/types/Resource.java +++ b/plugin/src/de/anbos/eclipse/easyshell/plugin/types/Resource.java @@ -20,6 +20,7 @@ import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.FileLocator; +import org.eclipse.jface.text.ITextSelection; import de.anbos.eclipse.easyshell.plugin.Activator; import de.anbos.eclipse.easyshell.plugin.misc.ResourceUtils; @@ -30,6 +31,7 @@ public class Resource { // internal private File file = null; private IResource resource = null; + private ITextSelection textSelection = null; // resolved private String projectName = Activator.getResourceString("easyshell.plugin.name"); @@ -37,19 +39,21 @@ public class Resource { public Resource(Resource myRes) { this.file = myRes.getFile(); this.resource = myRes.getResource(); + this.textSelection = myRes.getTextSelection(); } - public Resource(File file, IResource resource) { + public Resource(File file, IResource resource, ITextSelection textSelection) { this.file = file; this.resource = resource; + this.textSelection = textSelection; } public Resource(File file) { - this(file, null); + this(file, null, null); } public Resource(IResource resource) { - this(resource.getLocation().toFile(), resource); + this(resource.getLocation().toFile(), resource, null); } public File getFile() { @@ -60,6 +64,10 @@ public IResource getResource() { return resource; } + public ITextSelection getTextSelection() { + return textSelection; + } + public String getWindowsDrive() { String loc = getResourceLocation(); if (loc != null) { @@ -151,6 +159,41 @@ public String getResourcePath() { return ""; } + public String getSelectedTextStartLine() { + if (textSelection != null) { + return String.valueOf(textSelection.getStartLine()+1); + } + return ""; + } + + public String getSelectedTextEndLine() { + if (textSelection != null) { + return String.valueOf(textSelection.getEndLine()+1); + } + return ""; + } + + public String getSelectedTextLength() { + if (textSelection != null) { + return String.valueOf(textSelection.getLength()); + } + return ""; + } + + public String getSelectedTextOffset() { + if (textSelection != null) { + return String.valueOf(textSelection.getOffset()); + } + return ""; + } + + public String getSelectedText() { + if (textSelection != null) { + return textSelection.getText(); + } + return ""; + } + public String getProjectLocation() { if (resource != null) { return resource.getProject().getLocation().toFile().toString(); @@ -282,4 +325,8 @@ public String getScriptBash(String parameter) { return file != null && file.exists() ? file.getAbsolutePath() : "file does not exists"; } + public void setTextSelection(ITextSelection sel) { + textSelection = sel; + } + } diff --git a/plugin/src/de/anbos/eclipse/easyshell/plugin/types/Variable.java b/plugin/src/de/anbos/eclipse/easyshell/plugin/types/Variable.java index e39480f5..9811b595 100644 --- a/plugin/src/de/anbos/eclipse/easyshell/plugin/types/Variable.java +++ b/plugin/src/de/anbos/eclipse/easyshell/plugin/types/Variable.java @@ -26,7 +26,6 @@ import de.anbos.eclipse.easyshell.plugin.preferences.CommandData; public enum Variable { - // ${easyshell:resource_loc} == {2} varUnknown(false, false, "unknown", "unknown", new IVariableResolver() { public String resolve(Object object, Object parameter) { if(!(object instanceof Resource)) { @@ -35,6 +34,7 @@ public String resolve(Object object, Object parameter) { return "unknown"; }; }), + // ${easyshell:resource_loc} == {2} varResourceLoc(true, false, "resource_loc", "absolute path of file or directory", new IVariableResolver() { public String resolve(Object object, Object parameter) { if(!(object instanceof Resource)) { @@ -52,6 +52,7 @@ public String resolve(Object object, Object parameter) { return ((Resource)object).getResourceName(); }; }), + // ${easyshell:resource_basename} varResourceBasename(true, false, "resource_basename", "name of file without extension", new IVariableResolver() { public String resolve(Object object, Object parameter) { if(!(object instanceof Resource)) { @@ -60,6 +61,7 @@ public String resolve(Object object, Object parameter) { return ((Resource)object).getResourceBasename(); }; }), + // ${easyshell:resource_extension} varResourceExtension(true, false, "resource_extension", "extension of file name (without '.')", new IVariableResolver() { public String resolve(Object object, Object parameter) { if(!(object instanceof Resource)) { @@ -77,6 +79,60 @@ public String resolve(Object object, Object parameter) { return ((Resource)object).getResourcePath(); }; }), + // ${easyshell:resource_line_number} + varResourceLineNumber(true, false, "resource_line_number", "selected text line number", new IVariableResolver() { + public String resolve(Object object, Object parameter) { + if(!(object instanceof Resource)) { + return ""; + } + return ((Resource)object).getSelectedTextStartLine(); + }; + }), + // ${easyshell:selected_text_start_line} == ${easyshell:resource_line_number} + varSelectedTextStartLine(true, false, "selected_text_start_line", "selected text start line", new IVariableResolver() { + public String resolve(Object object, Object parameter) { + if(!(object instanceof Resource)) { + return ""; + } + return ((Resource)object).getSelectedTextStartLine(); + }; + }), + // ${easyshell:selected_text_end_line} + varSelectedTextEndLine(true, false, "selected_text_end_line", "selected text end line", new IVariableResolver() { + public String resolve(Object object, Object parameter) { + if(!(object instanceof Resource)) { + return ""; + } + return ((Resource)object).getSelectedTextEndLine(); + }; + }), + // ${easyshell:selected_text_length} + varSelectedTextLength(true, false, "selected_text_length", "selected text length", new IVariableResolver() { + public String resolve(Object object, Object parameter) { + if(!(object instanceof Resource)) { + return ""; + } + return ((Resource)object).getSelectedTextLength(); + }; + }), + // ${easyshell:selected_text_offset} + varSelectedTextOffset(true, false, "selected_text_offset", "selected text offset", new IVariableResolver() { + public String resolve(Object object, Object parameter) { + if(!(object instanceof Resource)) { + return ""; + } + return ((Resource)object).getSelectedTextOffset(); + }; + }), + // ${easyshell:selected_text} + varSelectedText(true, false, "selected_text", "selected text", new IVariableResolver() { + public String resolve(Object object, Object parameter) { + if(!(object instanceof Resource)) { + return ""; + } + return ((Resource)object).getSelectedText(); + }; + }), // ${easyshell:container_loc} == {1} varContainerLoc(true, false, "container_loc", "absolute path of file directory or directory itself", new IVariableResolver() { public String resolve(Object object, Object parameter) { @@ -182,6 +238,7 @@ public String resolve(Object object, Object parameter) { return ((Resource)object).getLineSeparator(OS.osUnknown); }; }), + // ${easyshell:line_separator_unix} varLineSeparatorUnix(false, false, "line_separator_unix", "line separator '\\n' (Unix)", new IVariableResolver() { public String resolve(Object object, Object parameter) { if(!(object instanceof Resource)) { @@ -190,6 +247,7 @@ public String resolve(Object object, Object parameter) { return ((Resource)object).getLineSeparator(OS.osUnix); }; }), + // ${easyshell:line_separator_windows} varLineSeparatorWindows(false, false, "line_separator_windows", "line separator '\\r\\n' (Windows)", new IVariableResolver() { public String resolve(Object object, Object parameter) { if(!(object instanceof Resource)) { @@ -198,6 +256,7 @@ public String resolve(Object object, Object parameter) { return ((Resource)object).getLineSeparator(OS.osWindows); }; }), + // ${easyshell:path_separator} varPathSeparator(true, false, "path_separator", "path separator, e.g. ':' (Unix) or ';' (Windows)", new IVariableResolver() { public String resolve(Object object, Object parameter) { if(!(object instanceof Resource)) { @@ -206,6 +265,7 @@ public String resolve(Object object, Object parameter) { return ((Resource)object).getPathSeparator(OS.osUnknown); }; }), + // ${easyshell:path_separator_unix} varPathSeparatorUnix(false, false, "path_separator_unix", "path separator ':' (Unix)", new IVariableResolver() { public String resolve(Object object, Object parameter) { if(!(object instanceof Resource)) { @@ -214,6 +274,7 @@ public String resolve(Object object, Object parameter) { return ((Resource)object).getPathSeparator(OS.osUnix); }; }), + // ${easyshell:path_separator_windows} varPathSeparatorWindows(false, false, "path_separator_windows", "path separator, e.g. ':' (Unix) or ';' (Windows)", new IVariableResolver() { public String resolve(Object object, Object parameter) { if(!(object instanceof Resource)) { @@ -222,6 +283,7 @@ public String resolve(Object object, Object parameter) { return ((Resource)object).getPathSeparator(OS.osWindows); }; }), + // ${easyshell:file_separator} varFileSeparator(true, false, "file_separator", "file separator, e.g. '/' (Unix) or '\\' (Windows)", new IVariableResolver() { public String resolve(Object object, Object parameter) { if(!(object instanceof Resource)) { @@ -230,6 +292,7 @@ public String resolve(Object object, Object parameter) { return ((Resource)object).getFileSeparator(OS.osUnknown); }; }), + // ${easyshell:file_separator_unix} varFileSeparatorUnix(false, false, "file_separator_unix", "file separator '/' (Unix)", new IVariableResolver() { public String resolve(Object object, Object parameter) { if(!(object instanceof Resource)) { @@ -238,6 +301,7 @@ public String resolve(Object object, Object parameter) { return ((Resource)object).getFileSeparator(OS.osUnix); }; }), + // ${easyshell:file_separator_windows} varFileSeparatorWindows(false, false, "file_separator_windows", "file separator '\\' (Windows)", new IVariableResolver() { public String resolve(Object object, Object parameter) { if(!(object instanceof Resource)) { diff --git a/plugin/uuids.txt b/plugin/uuids.txt index c9f4f276..0200d5c7 100644 --- a/plugin/uuids.txt +++ b/plugin/uuids.txt @@ -125,18 +125,18 @@ e6de32cc-342a-46a0-a766-ac74e7e4000d d84633fa-57cb-4965-b92e-2b164d47a6ed 1e47f558-7e01-4c69-9ffb-927d67fcbff5 d26d52ce-46b1-49bc-a84b-f5e5c6d7a705 - -Do not use -- - -Free dc8dd567-6ac0-49ec-8fcd-ed61e677ea3d 434dfc65-4efd-42e1-be5a-f108661e51a1 840831f3-fb2f-45f3-8db4-14007757d576 +65f40ff6-e920-4bd4-96d9-33e0a6fb8725 74e122dc-64fa-4444-8f58-f4ab04ebc9e3 ab5cb337-60da-429c-a0a7-0b37071b6a50 93442258-28b7-4297-9611-34733fa76161 -65f40ff6-e920-4bd4-96d9-33e0a6fb8725 + +Do not use +- + +Free cfda7549-f9f6-4d74-8257-a7135cee758d 3dde740d-81ac-4661-a42d-a790d9c22b3d 7ecc2edd-3f7f-4491-8ab7-af0f7744f7a8