discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Wishes for code navigation

T
tdeagan
Fri, Jan 2, 2015 9:19 PM

Scalpel78 wrote

The built-in IDE should be good enough so that an external editor isn't
required.

It can often be difficult to achieve consensus about things like good
enough.  One tool that we use at my work a lot is benchmarking, i.e.
measuring ourselves against some other site/tool/product that has a level of
functionality that we want to reach/exceed.  Consensus on a benchmark can be
difficult as well, but generally easier than on a feature by feature basis.

Are there any (in this case development or editor) apps that you feel have a
feature set that would meet the level of functionality that you're
visualizing?

--
View this message in context: http://forum.openscad.org/Wishes-for-code-navigation-tp10865p10883.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Scalpel78 wrote > The built-in IDE should be good enough so that an external editor isn't > required. It can often be difficult to achieve consensus about things like good enough. One tool that we use at my work a lot is benchmarking, i.e. measuring ourselves against some other site/tool/product that has a level of functionality that we want to reach/exceed. Consensus on a benchmark can be difficult as well, but generally easier than on a feature by feature basis. Are there any (in this case development or editor) apps that you feel have a feature set that would meet the level of functionality that you're visualizing? -- View this message in context: http://forum.openscad.org/Wishes-for-code-navigation-tp10865p10883.html Sent from the OpenSCAD mailing list archive at Nabble.com.
M
Michele
Fri, Jan 2, 2015 10:29 PM

I think a good editor should be syntax-directed and offer the following:

  1. parenthesis matching
  2. auto-indent, aka pretty-print
  3. line numbering
  4. keyword completion (type "dif<TAB>" and it prints "difference")
  5. template generation (type "difference" and get "difference () { }")

I don't need every piece of text in a different color.

--
View this message in context: http://forum.openscad.org/Wishes-for-code-navigation-tp10865p10884.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

I think a good editor should be syntax-directed and offer the following: 1. parenthesis matching 2. auto-indent, aka pretty-print 3. line numbering 4. keyword completion (type "dif<TAB>" and it prints "difference") 5. template generation (type "difference" and get "difference () { }") I don't need every piece of text in a different color. -- View this message in context: http://forum.openscad.org/Wishes-for-code-navigation-tp10865p10884.html Sent from the OpenSCAD mailing list archive at Nabble.com.
M
MichaelAtOz
Fri, Jan 2, 2015 10:46 PM

Well you get 1-3 with the upcoming release.


Unless specifically shown otherwise above, my contribution is in the Public Domain; To the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. This work is published globally via the internet. :) Inclusion of works of previous authors is not included in the above.

The TPP is no simple “trade agreement.”  Fight it! http://www.ourfairdeal.org/

View this message in context: http://forum.openscad.org/Wishes-for-code-navigation-tp10865p10885.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Well you get 1-3 with the upcoming release. ----- Unless specifically shown otherwise above, my contribution is in the Public Domain; To the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. This work is published globally via the internet. :) Inclusion of works of previous authors is not included in the above. The TPP is no simple “trade agreement.” Fight it! http://www.ourfairdeal.org/ -- View this message in context: http://forum.openscad.org/Wishes-for-code-navigation-tp10865p10885.html Sent from the OpenSCAD mailing list archive at Nabble.com.
JL
Joseph Lenox
Fri, Jan 2, 2015 11:24 PM

On Jan 2, 2015 2:52 PM, "Scalpel78" frode@lillerud.no wrote:

tdeagan wrote

But is OpenSCAD (as an app) trying (currently) to be an engine or an

IDE?

It helps to have a focus.  The feature list for a good IDE is painfully
long (and causes religious wars between developers.)  Kinda sorta aiming
at
becoming both concurrently is a tough way to make meaningful progress.

My

vote is for a more powerful engine first.

Sure, I don't disagree that improving the engine is more important than

the

IDE, but some minor improvements might still be worth the effort.

Tim asked if OpenSCAD is trying to be an IDE or an engine. I'd say it's an
application with both a frontend and a backend. Both are important. Sure,
having a perfect IDE isn't worth much if the engine sucks, so I'm inclined
to agree that the backend/engine is the most important. But for attracting
and keeping new users of OpenSCAD I'm also thinking that the workaround

with

using an external IDE (yes, I think that is a workaround, not a proper
longterm solution) isn't good. The built-in IDE should be good enough so
that an external editor isn't required.

Personally,  l feel that it is much better to have some support your editor
of choice than to continue to tweak OpenSCAD built-in editor. I'd I wanted
that editor to do everything that vim can do, I would use vim (and I do).

I do not understand why people would want to have superficial experience
with several limited editors when they could be using one powerful editor.

A simple plug in for NetBeans or even eclipse that invokes the viewer in
the correct mode would go far with many users.

On Jan 2, 2015 2:52 PM, "Scalpel78" <frode@lillerud.no> wrote: > > tdeagan wrote > > But is OpenSCAD (as an app) trying (currently) to be an engine or an IDE? > > It helps to have a focus. The feature list for a good IDE is painfully > > long (and causes religious wars between developers.) Kinda sorta aiming > > at > > becoming both concurrently is a tough way to make meaningful progress. My > > vote is for a more powerful engine first. > > Sure, I don't disagree that improving the engine is more important than the > IDE, but some minor improvements might still be worth the effort. > > Tim asked if OpenSCAD is trying to be an IDE or an engine. I'd say it's an > application with both a frontend and a backend. Both are important. Sure, > having a perfect IDE isn't worth much if the engine sucks, so I'm inclined > to agree that the backend/engine is the most important. But for attracting > and keeping new users of OpenSCAD I'm also thinking that the workaround with > using an external IDE (yes, I think that is a workaround, not a proper > longterm solution) isn't good. The built-in IDE should be good enough so > that an external editor isn't required. > Personally, l feel that it is much better to have some support your editor of choice than to continue to tweak OpenSCAD built-in editor. I'd I wanted that editor to do everything that vim can do, I would use vim (and I do). I do not understand why people would want to have superficial experience with several limited editors when they could be using one powerful editor. A simple plug in for NetBeans or even eclipse that invokes the viewer in the correct mode would go far with many users.
TD
Tim Deagan
Fri, Jan 2, 2015 11:32 PM

For me, 1-3 is great and I crave chromacoding (colored words.)  I'm less
fond of templating.  I don't like having to erase all the extra parens and
brackets it puts in because I didn't type things in the order it demands,
slows me down and I turn it off.  Keyword completion is okay as long as
it's TAB driven.  I hate having to fiddle with the drop down selector
between similar names.

I do like function spec tooltips describing the required fields and such.

But I'm getting all my needs met using Notepad++ along with a huge number
of other features.

I kind of imagine the editor in OpenSCAD to be like GLUT in OpenGL, just
barely enough to do something as a test, but not a tool designed to do
heavy lifting.  I'm somewhat sympathetic to the idea that new users will be
too confused to use an editor of choice, so I'll keep chewing on that
perspective.  But meeting new users (new programmers really,) needs is a
different goalset than meeting the needs of folks with bigger project
needs.  Chasing that goal means being an editor development project, which
is a shame given how many good ones are out there.

Good discussion!

On Fri Jan 02 2015 at 4:46:27 PM MichaelAtOz oz.at.michael@gmail.com
wrote:

Well you get 1-3 with the upcoming release.


Unless specifically shown otherwise above, my contribution is in the
Public Domain; To the extent possible under law, I have waived all
copyright and related or neighbouring rights to this work. This work is
published globally via the internet. :) Inclusion of works of previous
authors is not included in the above.

The TPP is no simple “trade agreement.”  Fight it!
http://www.ourfairdeal.org/

View this message in context: http://forum.openscad.org/
Wishes-for-code-navigation-tp10865p10885.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

For me, 1-3 is great and I crave chromacoding (colored words.) I'm less fond of templating. I don't like having to erase all the extra parens and brackets it puts in because I didn't type things in the order it demands, slows me down and I turn it off. Keyword completion is okay as long as it's TAB driven. I hate having to fiddle with the drop down selector between similar names. I do like function spec tooltips describing the required fields and such. But I'm getting all my needs met using Notepad++ along with a huge number of other features. I kind of imagine the editor in OpenSCAD to be like GLUT in OpenGL, just barely enough to do something as a test, but not a tool designed to do heavy lifting. I'm somewhat sympathetic to the idea that new users will be too confused to use an editor of choice, so I'll keep chewing on that perspective. But meeting new users (new programmers really,) needs is a different goalset than meeting the needs of folks with bigger project needs. Chasing that goal means being an editor development project, which is a shame given how many good ones are out there. Good discussion! On Fri Jan 02 2015 at 4:46:27 PM MichaelAtOz <oz.at.michael@gmail.com> wrote: > Well you get 1-3 with the upcoming release. > > > > > ----- > Unless specifically shown otherwise above, my contribution is in the > Public Domain; To the extent possible under law, I have waived all > copyright and related or neighbouring rights to this work. This work is > published globally via the internet. :) Inclusion of works of previous > authors is not included in the above. > > The TPP is no simple “trade agreement.” Fight it! > http://www.ourfairdeal.org/ > -- > View this message in context: http://forum.openscad.org/ > Wishes-for-code-navigation-tp10865p10885.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
DM
doug moen
Fri, Jan 2, 2015 11:36 PM

Okay, here's a requirement. Whenever OpenSCAD detects an error, I would like:
(1) to see an error message with the correct file name/line number;
(2) to see the error in context, by displaying the source file, and
the line containing the error marked in red.

One of the cases where this doesn't work today is when the error is in
an included library file. In that case, requirement (2) could be
satisfied by supporting some kind of IDE integration more
sophisticated than just the "Automatic Reload and Compile" option, or
it could be satisfied by supporting tabbed editing, so that multiple
source file tabs can be grouped with a single output pane and error
message pane. In the latter case, OpenSCAD could open an included
source file that contains errors in a tab, so that it can highlight
the lines containing errors.

I'm not arguing that OpenSCAD should necessarily contain its own
sophisticated IDE (I agree engine work trumps this), but it would be
great to at least support proper workflow for reporting and fixing
errors in source code. Also, I think that a significant portion of the
work required for proper error reporting is actually in the engine (by
which I mean the compiler and the run-time, since errors are often not
detectable until runtime since OpenSCAD doesn't use (or need) static
type checking).

PS I looked at the netbeans API link provided by tdeagan, and although
it talks about syntax error highlighting, I don't think this API helps
us to get error messages out of OpenSCAD and into an IDE for the
purpose of highlighting errors in the context of a source file.

On 2 January 2015 at 16:19, tdeagan tim@deagan.net wrote:

Scalpel78 wrote

The built-in IDE should be good enough so that an external editor isn't
required.

It can often be difficult to achieve consensus about things like good
enough.  One tool that we use at my work a lot is benchmarking, i.e.
measuring ourselves against some other site/tool/product that has a level of
functionality that we want to reach/exceed.  Consensus on a benchmark can be
difficult as well, but generally easier than on a feature by feature basis.

Are there any (in this case development or editor) apps that you feel have a
feature set that would meet the level of functionality that you're
visualizing?

--
View this message in context: http://forum.openscad.org/Wishes-for-code-navigation-tp10865p10883.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

Okay, here's a requirement. Whenever OpenSCAD detects an error, I would like: (1) to see an error message with the correct file name/line number; (2) to see the error in context, by displaying the source file, and the line containing the error marked in red. One of the cases where this doesn't work today is when the error is in an included library file. In that case, requirement (2) could be satisfied by supporting some kind of IDE integration more sophisticated than just the "Automatic Reload and Compile" option, or it could be satisfied by supporting tabbed editing, so that multiple source file tabs can be grouped with a single output pane and error message pane. In the latter case, OpenSCAD could open an included source file that contains errors in a tab, so that it can highlight the lines containing errors. I'm not arguing that OpenSCAD should necessarily contain its own sophisticated IDE (I agree engine work trumps this), but it would be great to at least support proper workflow for reporting and fixing errors in source code. Also, I think that a significant portion of the work required for proper error reporting is actually in the engine (by which I mean the compiler and the run-time, since errors are often not detectable until runtime since OpenSCAD doesn't use (or need) static type checking). PS I looked at the netbeans API link provided by tdeagan, and although it talks about syntax error highlighting, I don't think this API helps us to get error messages out of OpenSCAD and into an IDE for the purpose of highlighting errors in the context of a source file. On 2 January 2015 at 16:19, tdeagan <tim@deagan.net> wrote: > Scalpel78 wrote >> The built-in IDE should be good enough so that an external editor isn't >> required. > > It can often be difficult to achieve consensus about things like good > enough. One tool that we use at my work a lot is benchmarking, i.e. > measuring ourselves against some other site/tool/product that has a level of > functionality that we want to reach/exceed. Consensus on a benchmark can be > difficult as well, but generally easier than on a feature by feature basis. > > Are there any (in this case development or editor) apps that you feel have a > feature set that would meet the level of functionality that you're > visualizing? > > > > -- > View this message in context: http://forum.openscad.org/Wishes-for-code-navigation-tp10865p10883.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
T
tdeagan
Fri, Jan 2, 2015 11:46 PM

doug.moen wrote

PS I looked at the netbeans API link provided by tdeagan, and although
it talks about syntax error highlighting, I don't think this API helps
us to get error messages out of OpenSCAD and into an IDE for the
purpose of highlighting errors in the context of a source file.

I agree, the quick version doesn't do this, but I know a lot of other
languages have some means of doing so with NetBeans so I'll investigate.

I am really interested in this set of requirements.  Constructing an
advanced editor capability as an artifact of creating a more powerful
debugging experience (rather than as YAEditor).  That bridges the engine/UI
question in a really interesting way.  I'm not sure what the command line
does at this point (I've never used it when having errors, be nice if there
was a super simple script that had a target flaw for debugging.)

interesting stuff!!

--
View this message in context: http://forum.openscad.org/Wishes-for-code-navigation-tp10865p10891.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

doug.moen wrote > PS I looked at the netbeans API link provided by tdeagan, and although > it talks about syntax error highlighting, I don't think this API helps > us to get error messages out of OpenSCAD and into an IDE for the > purpose of highlighting errors in the context of a source file. I agree, the quick version doesn't do this, but I know a lot of other languages have some means of doing so with NetBeans so I'll investigate. I am really interested in this set of requirements. Constructing an advanced editor capability as an artifact of creating a more powerful debugging experience (rather than as YAEditor). That bridges the engine/UI question in a really interesting way. I'm not sure what the command line does at this point (I've never used it when having errors, be nice if there was a super simple script that had a target flaw for debugging.) interesting stuff!! -- View this message in context: http://forum.openscad.org/Wishes-for-code-navigation-tp10865p10891.html Sent from the OpenSCAD mailing list archive at Nabble.com.
JL
Joseph Lenox
Sat, Jan 3, 2015 12:06 AM

What about an ability to redirect the errors and warnings from the console
to stdout or stderr? That way you could easily have a parser in the editor
for syntax highlights in editor of choice.

What would be slick would be able to figure out on a statement by statement
basis if the volume of a construct is approximately 0.

What about an ability to redirect the errors and warnings from the console to stdout or stderr? That way you could easily have a parser in the editor for syntax highlights in editor of choice. What would be slick would be able to figure out on a statement by statement basis if the volume of a construct is approximately 0.