Home Download Buy Blog Forum Support

Layouts and others...

Layouts and others...

Postby artee on Mon Jun 08, 2009 6:27 pm

Hi All

A few ideas:
  • Code folding
  • Add ability to define your own background image and color for each view or panel. Support for background image opacity will be delicious ;)
  • Better project management (display project tree, add/delete/move operations, etc...)
  • Add support for sessions - all opened files can be saved as a session file (like project) and reopened on demand.
  • Support for GUI in plugins. Maybe UI based on HTML interface is a final solution? In my current job I've created a lot of applications with such type of interface (based on IE and Mozilla controls) and it is pretty easy (usign an ActiveX interface). If you are interested in details please feel free to contact with me. See http://www.cyberbrinedreams.com/version3/snippets/516/snippet-embedding-a-web-control-in-c for more details.
  • Support for view/panes with different than text content, e.g. graphical objects or simple list control with project files. This idea is similar to above.
  • Open selected filename.

regards
Artur
artee
 
Posts: 32
Joined: Sat May 30, 2009 10:33 pm

Re: Layouts and others...

Postby tgkeul on Mon Jun 08, 2009 8:04 pm

my 2 cent
After years with feature bloated editors I addict to the pure style of sublime text with the one and important focus on the source code.
Your ideas sound quite well but I fear most of them don't fit the spirit of sublime text - as I see it.

  • I had used editors with code folding for years and after a while I abandoned it. I wrote smaler functions in smaler files and had no need for code folding anymore. Instead I use the function list provided by the superior ctags plugin.
  • I want to write code and need a quiet background. I see no need for background pictures in a programmers editor.
  • The current project 'management' is directory oriented as most of the current revision control systems. I would like an automatic sync with the current files in the directory to see new files in the select list. I can stay with project configuration in a XML file.
  • Selecting different sessions will be a very nice feature!
  • Am I too old too see the value of GUI plugins to edit source code? I asume.
  • When sumblime starts providing views with graphical objects (UML for instance) I worry about stability. Keep it simple!

Maybe eric4, eclipse ore one of the thousand other editors is a more suitable solution to you?
tgkeul
 
Posts: 140
Joined: Tue Dec 02, 2008 9:35 pm

Re: Layouts and others...

Postby artee on Mon Jun 08, 2009 9:47 pm

I want to write code and need a quiet background

Different background can be useful if you are editing different kind of files, e.g. HTML files and source files. Color will be used to indicate type of file.
It's IMHO quite usefull since Sublime has built-in support for different layouts with a lot of files inside panel.
Picture as a background is a nice feature but I agree with you that it can be basis for discussion ;)

Am I too old too see the value of GUI plugins to edit source code? I asume.

Plugin with an UI is a platform to create more robust addons with better control of user interaction and without need to use very basic set of sublime UI controls.
For example if you are editing CSS file that plugin can display changes in graphically, just inside Sublime window (compare this with Stylizer http://www.skybound.ca).
It can be used to display any kind of data in simpy way, without using hard to understand DirectX interface. Just simple HTML file, with events (click, change, etc) connected to functions.
Consider the following example (it's a prototype):
Python code:
Code: Select all
class SampleUICommand(sublimeplugin.UICommand):
   def run(self, view, args):
      context = {'header' : 'Form header'}
      return sublimeplugin.UICommand.show(self, 'sample.html', context) or
      return sublimeplugin.UICommand.dock(self, 1, 'sample.html', context) # 1 is a number of pane

   @action('save_btn', 'click')
   def submit(self):
      form = self.forms.get('simple_form', {})
      fname = form.get('fname')
      lname = form.get('lname')
      sublime.messageBox(' '.join(['Test on', fname, lname]))


and corresponding HTML:
Code: Select all
<html>
<head>
   <link type="text/css" href="style.css" />
</head>
<body>
   <h2>${context.get('header')}</h2>
   <form action="#" id="simple_form">
      <label>Input first name:</label>
      <input type="text" name="fname"></input>
      <label>Input last name:</label>
      <input type="text" name="lname"></input>
      <input type="submit" id="save_btn"></input>
   </form>
   
   <script type="text/javascript" src="jquery.js" />
   <script type="text/javascript" src="script.js" />
</body>
</html>


When sumblime starts providing views with graphical objects (UML for instance) I worry about stability. Keep it simple!

I agree with because I'm KISS maniac ;)
I was Scite happy user (before I bought Sublime of course ;)). This is a very nice and very simple editor. But...
Its simplicity is a problem because Scite's architecture is as simple as itself and doesn't allow the programmer (Scite is provided with full source code) to do more than add another command as a external program with arguments. Sublime is much better but ... doesn't allow us (programmers) to do more than use small subset of built-in functions ;)
Stability is a good point to discussion but there are lot of applications with a HTML user interface (Firefox, IE, Outlook, Stylizer, etc...) without big problems with stability (except IE ;)).

Maybe eric4, eclipse ore one of the thousand other editors is a more suitable solution to you?

Each of above are big and robust and terribly slow IDE.
I would like to add ability to define UI for plugins. HTML is one of that concept (and because of I have experience with that type of user interface in desktop applications ;) ).

cheers
Artur
artee
 
Posts: 32
Joined: Sat May 30, 2009 10:33 pm

Re: Layouts and others...

Postby artee on Tue Jun 09, 2009 6:36 am

sublimator wrote:You can set the theme per file type and thus have a good visual indication.

Ok, I didn't know about that :)

sublimator wrote:re:code folding
-1
What tgkeul said

vi/vim maniac :P

sublimator wrote:re:file management (add/remove/delete)
-1
Just set up a launch console / ( file explorer of choice ) in current directory command.

Hmm, I'll try this.
But it's sooo ... ascetic ;)

sublimator wrote:re:html gui widgets
+1

I think you could do this with the plugin API already.

I'll to this same using Pylons ;) but...
It would be better to have possibility to embed into Sublime window and control rectangular window/view (hide/show/resize/etc...).
If Sublime will provide this functionality then it wouldn't be a problem to display in this place HTML control or other GUI.
Provide functionality in the way I've mentioned (MVC paradigm) before should be pretty simple.

sublimator wrote:google: pluie
google: comtypes
google: pyjamas

I've already known these project but the real problem is with integration browser control (IE or Mozilla based) into Sublime view.
The rest is just pretty simple :)

sublimator wrote:Speaking of bloated and hacky I'm actually thinking of running cherrypy (a web server) in Sublime. LOL

Awesome :)
I've tried the same using the Pylons server but I think that both projects (CherryPy and Pylons) are too heavy, maybe lightweight WebPy would be a better choice?

Additionally...
What about displaying white spaces? Is it implemented ?
WScite has nice feature, called indentation guideline (in red rectangles):
Image
It would be good to see the same in Sublime due to the fact that this is very useful in huge source code :)

cheers
Artur
artee
 
Posts: 32
Joined: Sat May 30, 2009 10:33 pm

Re: Layouts and others...

Postby vim on Tue Jun 09, 2009 6:45 am

nice to see some fresh thought regarding sublime ( even i disagree with most of them ;) ).

+1
What about displaying white spaces?


in e text editor i remember that when you selected a block of text, it would mark tabs/enters/spaces. this was very nice.
vim
 
Posts: 298
Joined: Tue May 27, 2008 6:51 pm

Re: Layouts and others...

Postby jps on Tue Jun 09, 2009 1:31 pm

- Code folding is on the todo list, although it's not at the top.
- Background images won't be appearing, not because I've got anything against them, but because they're incompatible (without a significant speed hit, anyway) with the way text rendering works in Sublime when ClearType is turned on.
- I'm not a fan of adding support for manipulating files via the project management interface, nor adding a tree view to display the contents of the project. The former is better handled by dedicated file management tools, while the latter implies using a mouse to work with the project, which isn't ideal. This isn't to say I've got anything against making the project support richer, but I'd like to see it evolve in a way that complements a text editing centric approach, rather than taking the typical windows application approach.
- GUI support for plugins is something that I've had on my mind for a long time, but I'm not sure there's any great answer here. HTML based UIs is one reasonable approach. In the short term, the likely next step for plugin GUI interaction will be a much improved input panel.
- Session support is a great idea, and most of the supporting code is already there. The question is how to expose it in a reasonable manner: perhaps the most straight-forward is to have a one to one relationship between projects and sessions, but even that raises issues: if opening a project is the equivalent to opening a session, what should happen to the currently open files when a project is opened?
jps
Site Admin
 
Posts: 3067
Joined: Wed Mar 19, 2008 12:33 pm

Re: Layouts and others...

Postby jps on Tue Jun 09, 2009 2:02 pm

Also, thanks for posting this - I do appreciate seeing feature suggestions
jps
Site Admin
 
Posts: 3067
Joined: Wed Mar 19, 2008 12:33 pm

Re: Layouts and others...

Postby artee on Tue Jun 09, 2009 2:21 pm

jps wrote:- Code folding is on the todo list, although it's not at the top.

ok

jps wrote:...ClearType is turned on.

Ok, it's enough clarification for me

jps wrote:- GUI support for plugins is something that I've had on my mind for a long time, but I'm not sure there's any great answer here. HTML based UIs is one reasonable approach. In the short term, the likely next step for plugin GUI interaction will be a much improved input panel.

Nice to hear this great news :)
Embedding some modern controls inside Sublime can be IMHO problematic due to the fact that Sublime is written in plain WinAPI as I've already discovered.
In case of .NET we can simply use GeckoFX (http://code.google.com/p/geckofx/) to embed Firefox engine inside the application.
The whole idea is not to add big overhead to Sublime and make another IDE like Eclipse or Netbeans. It should be another application layer (like Python plugins now)
to allow the user to enhance built-in functionality with another one.
Implementation of such UI should be done on plugin API level so if some users want to keep it simple - they are not obligated to use new UI.

jps wrote:- Session support is a great idea, and most of the supporting code is already there. The question is how to expose it in a reasonable manner: perhaps the most straight-forward is to have a one to one relationship between projects and sessions, but even that raises issues: if opening a project is the equivalent to opening a session, what should happen to the currently open files when a project is opened?

I think that KISS rule should be used :)
From my point of view session should be treated as a list opened files (despite project's membership) and should be stored as a single file.
It would be nice to save additional information in that file like bookmarks, folding in the future and so on...
artee
 
Posts: 32
Joined: Sat May 30, 2009 10:33 pm

Re: Layouts and others...

Postby artee on Tue Jun 09, 2009 2:32 pm

jps wrote:Also, thanks for posting this - I do appreciate seeing feature suggestions

I'm appologize for reusing this topic ;) but I'have another question.
In other editors there support for Insert key.
Sublime works in different way - there are no difference between normal and Insert mode (and cursor remains the same).
Any suggestions?
artee
 
Posts: 32
Joined: Sat May 30, 2009 10:33 pm

Re: Layouts and others...

Postby gpfsmurf on Tue Jun 09, 2009 6:37 pm

Just a thought but if the insert key is used, when in 'replace' mode, it would be nice if it reverted back to insert mode when it hits a closing parenthesis, or, to be more general, when the current syntax context changes.
gpfsmurf
 
Posts: 211
Joined: Mon Jun 23, 2008 6:31 pm

Next

Return to Ideas and Feature Requests

Who is online

Users browsing this forum: No registered users and 10 guests