From: SourceForge.net <no...@so...> - 2008-08-26 18:26:43
|
Patches item #1829669, was opened at 2007-11-11 07:01 Message generated for change (Comment added) made by k_satoda You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300588&aid=1829669&group_id=588 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: general Group: None Status: Open Resolution: None Priority: 2 Private: No Submitted By: Townsfolk (elberry) Assigned to: Kazutoshi Satoda (k_satoda) Summary: [ 1797477 ] Open New File with Mode Initial Comment: I made these changes for this feature request. It adds a new item to the file menu, "New in Mode" which opens a dialog listing the available modes, the user can select one and a new file is created under that mode. https://sourceforge.net/tracker/index.php?func=detail&aid=1797477&group_id=588&atid=350588 ---------------------------------------------------------------------- >Comment By: Kazutoshi Satoda (k_satoda) Date: 2008-08-27 03:26 Message: Logged In: YES user_id=1483238 Originator: NO jEdit.getProperty() is ok. It is used widely to get a localizable text. The property name may be something like "new-file-in-mode.dialog.title", and ".message". Or, if you find a good convension for similar case, please follow that. For the upload issue, I have no idea. Please take a try, but pasting in comment is ok if it doesn't work. The notification mail seems to have verbtim contents including tabs and spaces. ---------------------------------------------------------------------- Comment By: Townsfolk (elberry) Date: 2008-08-26 06:00 Message: Logged In: YES user_id=1205438 Originator: YES Hi Kazutoshi, You are absolutely right, the loop isn't necessary. Sorry, bad programming on my part. Also, I took absolutely no offense to any comments, and I am definitely interested in jEdit core development. So any comments, help, advice, or constructive criticisms are definitely welcome. Putting the titles into the gui.props would be great, I was wondering about that. How do you access those properties, do you just use jEdit.getProperty()? As for the error I was getting submitting the patch, I tried many variations including the one you suggested. I simply was not able to upload any files. I tried renaming the file to new_file_in_mode.patch (replacing the old one), new_file_in_mode.diff, new_file_in_mode_2.patch and new_file_in_mode_2.diff. None worked, so I pasted it in the comments. Thanks, Eric ---------------------------------------------------------------------- Comment By: Kazutoshi Satoda (k_satoda) Date: 2008-08-26 04:55 Message: Logged In: YES user_id=1483238 Originator: NO Very sorry for cluttering the comments, but here is another issue... The window title "New File" and the message "With Edit Mode: " should be in jedit_gui.props so that they can be localized. ---------------------------------------------------------------------- Comment By: Kazutoshi Satoda (k_satoda) Date: 2008-08-26 04:46 Message: Logged In: YES user_id=1483238 Originator: NO Sorry. I found that CDATA is for "<" in the for loop in the code. Without CDATA, it must be "<" which looks odd. But the loop looks not necesarry. Just starting the code with Mode choice = (Mode)JOptionPane.showInputDialog( ..., jEdit.getModes(), buffer.getMode()); works for me (in a temporary macro). Could you please try this? ---------------------------------------------------------------------- Comment By: Kazutoshi Satoda (k_satoda) Date: 2008-08-26 03:38 Message: Logged In: YES user_id=1483238 Originator: NO First, .props file must be encoded in ISO-8859-1. http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html Second, the most possible reason of the encoding error is that your jEdit opened the file with another encoding (likely the sysytem default one) and set the buffer's encoding from the buffer local property written in the file. Taking a encoding property from the file is likely a bug. See this one. https://sourceforge.net/support/tracker.php?aid=1643580 Sorry for confusion. A workaround is reloading the buffer with the correct encoding; ISO-8859-1 for .props files. For the upload issue, I guess some reason. Plaese try checking you have logged in, or changing the name of the file like this "new_file_in_mode.2.patch". For the default mode of a new file, it should be used for the initial untitled buffer, and another untitled buffer which appears after closing the last buffer. I think having a global default as it is, and having this feature is enough. We can select them with "C+n" or "CS+n ENTER". Further ideas about this issue, if any, should go to jedit-devel or another feature request. Now, for the patch itself, why the actual code is surrounded with CDATA sequence? No other actions have them. I think it does nothing here. If this is true, please remove them and try testing and resubmitting revised patch. Otherwise, please teach me (or put a comment in place) what it does. ---------------------------------------------------------------------- Comment By: Townsfolk (elberry) Date: 2008-08-26 01:53 Message: Logged In: YES user_id=1205438 Originator: YES Ah, cool. I'll remember that for the future in case I do something like this again. :) I really like the idea of having the New File action open the untitled buffer using the current mode instead of the default one. I would definitely prefer this. However, I feel that it should be an option with the default being the current behavior. Not only is it changing the current behavior, but I can also see situations where just defaulting would be ideal. Eg. I have my default set to JSP since I used to use jEdit mostly for JSP editing. However, I used jEdit to view java, js, html, xml, etc... So it might be distracting if I had to keep changing the mode back to JSP on a normal basis. Now, I use jEdit for a lot more editing, and I often need to create a new file of the same type I'm currently working on. So, now this feature would be of great help to me. As far as this patch goes, is there anything else I need to do? ---------------------------------------------------------------------- Comment By: Alan Ezust (ezust) Date: 2008-08-25 16:03 Message: Logged In: YES user_id=935841 Originator: NO >For some reason jEdit is trying to save the file in ISO-8859-1, and it's >complaining about a character Vampire's name. I managed to save the file >using UTF-8, but I'm not sure this is correct. Some help with this would be >much appreciated. It looks like iso-8859-1 to me. Not sure why it got munged, but that can happen when cutting and pasting sometimes. Anyway, you could have just removed the last entry, which starts with the @@, i e. from @@ -950,7 +953,7 @@ to the bottom. That would avoid the unwanted part of a patch issue. I tried the patch, and kazutoshi's idea of preselecting the list iitem to be the mode of the existing buffer, was so good, I took it one step further and patched my local copy so that any "new file" action creates untitled buffers in the same edit mode as view.getBuffer().getMode() It makes me wonder, what is the point of having a "default" edit mode anyway? Wouldn't it be better to always create it by default in the mode view.getBuffer().getMode()? Or should it be an option people can switch on or off? But if we had that also, then this list widget could remember the *last* selected mode, rather than the current edit mode. ---------------------------------------------------------------------- Comment By: Townsfolk (elberry) Date: 2008-08-25 13:05 Message: Logged In: YES user_id=1205438 Originator: YES I am unable to attach the patch. I get this when trying to upload the file: "Tracker Item: Nothing Changed - Update Cancelled" Here's the file contents: [code] Index: org/gjt/sp/jedit/jedit_keys.props =================================================================== --- org/gjt/sp/jedit/jedit_keys.props (revision 13420) +++ org/gjt/sp/jedit/jedit_keys.props (working copy) @@ -27,6 +27,7 @@ goto-line.shortcut=C+l # C+m is a prefix new-file.shortcut=C+n +new-file-in-mode.shortcut=CS+n open-file.shortcut=C+o print.shortcut=C+p exit.shortcut=C+q Index: org/gjt/sp/jedit/actions.xml =================================================================== --- org/gjt/sp/jedit/actions.xml (revision 13420) +++ org/gjt/sp/jedit/actions.xml (working copy) @@ -559,6 +559,36 @@ </CODE> </ACTION> +<ACTION NAME="new-file-in-mode"> + <CODE> + <![CDATA[ + Mode[] modes = jEdit.getModes(); + Mode currentMode = buffer.getMode(); + int currentModeIndex = 0; + Mode mode = null; + for(int index = 0; index < modes.length; index++) { + mode = modes[index]; + if(mode.getName().equals(currentMode.getName())) { + currentModeIndex = index; + } + } + Mode choice = (Mode)JOptionPane.showInputDialog( + view, + "With Edit Mode: ", + "New File", + JOptionPane.QUESTION_MESSAGE, + null, + modes, + modes[currentModeIndex]); + if(choice != null) { + Buffer newBuffer = jEdit.newFile(view); + view.goToBuffer(newBuffer); + newBuffer.setMode(choice); + } + ]]> + </CODE> +</ACTION> + <ACTION NAME="new-plain-view"> <CODE> jEdit.newView(view,buffer,true); Index: org/gjt/sp/jedit/jedit_gui.props =================================================================== --- org/gjt/sp/jedit/jedit_gui.props (revision 13420) +++ org/gjt/sp/jedit/jedit_gui.props (working copy) @@ -188,6 +188,7 @@ #{{{ File menu file=new-file \ + new-file-in-mode \ open-file \ %recent-files \ - \ @@ -211,6 +212,8 @@ file.label=$File new-file.label=$New new-file.icon.small=16x16/actions/document-new.png +new-file-in-mode.label=New In $Mode +new-file-in-mode.icon.small=16x16/actions/document-new.png open-file.label=$Open... open-file.icon.small=16x16/actions/document-open.png reload.label=$Reload @@ -950,7 +953,7 @@ Ben Williams\n\ Bertalan Fodor\n\ Bill McMilleon\n\ - Bjrn "Vampire" Kautler\n\ + Bjrn "Vampire" Kautler\n\ Brad Mace\n\ Brant Langer Gurganus\n\ Brett Smith\n\ [/code] ---------------------------------------------------------------------- Comment By: Townsfolk (elberry) Date: 2008-08-25 12:58 Message: Logged In: YES user_id=1205438 Originator: YES Here's a new Patch. I had an issue with org/gjt/sp/jedit/jedit_gui.props. For some reason jEdit is trying to save the file in ISO-8859-1, and it's complaining about a character Vampire's name. I managed to save the file using UTF-8, but I'm not sure this is correct. Some help with this would be much appreciated. Kazutoshi, I think I fixed the nbsp in indents, and I've added your suggestion for selecting the current mode instead of the first one. Please let me know if this doesn't work for you. Thanks, Eric ---------------------------------------------------------------------- Comment By: Townsfolk (elberry) Date: 2008-08-21 10:53 Message: Logged In: YES user_id=1205438 Originator: YES Hi Kazutoshi, Sorry, about the non-ascii characters. I am out of town atm, so I will fix this as soon as I am able to get back to my computer. Thanks, Eric ---------------------------------------------------------------------- Comment By: Kazutoshi Satoda (k_satoda) Date: 2008-08-19 23:33 Message: Logged In: YES user_id=1483238 Originator: NO I understood the good of this patch. Thank you for detailed explanation. I tested the patch with the trunk r13370 and noticed that actions.xml contains non-ASCII characters (NBSP in UTF-8) in indents of the code. I think it should be replaced by tabs like other codes in the file. No other problems. I'll accept this if the indent is fixed. One small suggestion: How about setting the default selection as same as the current buffer. It will be slitly better than just using mode[0]. ---------------------------------------------------------------------- Comment By: Townsfolk (elberry) Date: 2008-08-11 14:06 Message: Logged In: YES user_id=1205438 Originator: YES Wanted to bump this up a bit since pre15 is now released. I'm getting more familiar with building jEdit from source, perhaps I can add this myself? ---------------------------------------------------------------------- Comment By: Townsfolk (elberry) Date: 2007-11-11 18:03 Message: Logged In: YES user_id=1205438 Originator: YES I've always felt it was a small but very nice feature jEdit lacked. All the major IDE's let you create a new "X", be it a project, html file, java class/interface, etc... JEdit can support so many languages, and for me, I almost always use my default settings for line-separator, encoding etc... So, just being able to open up a new transact-sql buffer to run queries, or a new beanshell buffer to test out some code, or a "X" file to show off some of jEdit's other features to my friends and coworkers, in a quick 1 step process is very useful. I used to have macros set up for opening individual types of files, but found I liked this better. CS+n and I can choose any language I want, and the buffer is ready, along with syntax highlighting, sidekick parsing (if available) and SuperAbbrevs abbreviations. I can certainly just upload the macro on the community site, but thought it was such little effort to include, I'd just try it out. Let me know if that would be a better idea. ---------------------------------------------------------------------- Comment By: Kazutoshi Satoda (k_satoda) Date: 2007-11-11 11:51 Message: Logged In: YES user_id=1483238 Originator: NO It seems you already have the feature as a straightforward macro. Why do you willing to push it into the core? For me as a user, creating a new buffer and opening [Buffer Options] dialog is enough and probably better. It can choose its line-separator, encoding and more including its mode. ---------------------------------------------------------------------- Comment By: Townsfolk (elberry) Date: 2007-11-11 07:02 Message: Logged In: YES user_id=1205438 Originator: YES File Added: mode_select.png ---------------------------------------------------------------------- Comment By: Townsfolk (elberry) Date: 2007-11-11 07:01 Message: Logged In: YES user_id=1205438 Originator: YES File Added: file_menu.png ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300588&aid=1829669&group_id=588 |