-
-
Save wayneeseguin/947529 to your computer and use it in GitHub Desktop.
Note: This part of the discussion is now over, #1 was the "winner" :) | |
See the other file for Part II of the discussion and the end result. | |
# Option 1 - Tabular | |
5. fail() 266 /usr/local/bdsm/modules/bash/logging/dsl | |
4. module_dsl() 236 /usr/local/bdsm/modules/bash/modules/dsl | |
3. source() 3 /usr/local/bdsm/extensions/mod/bin/dsl | |
2. extension_action() 152 /usr/local/bdsm/modules/bash/extensions/dsl | |
1. main() 76 /usr/local/bin/bdsm | |
# Option 2 - Nested, by function | |
main() 76 /usr/local/bin/bdsm | |
extension_action() 152 /usr/local/bdsm/modules/bash/extensions/dsl | |
source() 3 /usr/local/bdsm/extensions/mod/bin/dsl | |
module_dsl() 236 /usr/local/bdsm/modules/bash/modules/dsl | |
fail() 266 /usr/local/bdsm/modules/bash/logging/dsl | |
# Option 3 - Nested, by function, reversed order | |
fail() 266 /usr/local/bdsm/modules/bash/logging/dsl | |
module_dsl() 236 /usr/local/bdsm/modules/bash/modules/dsl | |
source() 3 /usr/local/bdsm/extensions/mod/bin/dsl | |
extension_action() 152 /usr/local/bdsm/modules/bash/extensions/dsl | |
main() 76 /usr/local/bin/bdsm | |
# Option 4 - Nested, by function, reversed order, reversed nesting | |
fail() 266 /usr/local/bdsm/modules/bash/logging/dsl | |
module_dsl() 236 /usr/local/bdsm/modules/bash/modules/dsl | |
source() 3 /usr/local/bdsm/extensions/mod/bin/dsl | |
extension_action() 152 /usr/local/bdsm/modules/bash/extensions/dsl | |
main() 76 /usr/local/bin/bdsm | |
# Option 6 - Tabular, Reversed | |
1. main() 76 /usr/local/bin/bdsm | |
2. extension_action() 152 /usr/local/bdsm/modules/bash/extensions/dsl | |
3. source() 3 /usr/local/bdsm/extensions/mod/bin/dsl | |
4. module_dsl() 236 /usr/local/bdsm/modules/bash/modules/dsl | |
5. fail() 266 /usr/local/bdsm/modules/bash/logging/dsl |
# BDSM Framework Backtraces (bash) | |
∴ for editor in ' ' less nano vi vim emacs mvim mate; do export EDITOR="${editor:-}"; printf "\n\nEDITOR: ${EDITOR:-}\n"; bdsm module dingus; done | |
EDITOR: | |
Action binary/file dingus missing for extension mod | |
(/usr/local/bdsm/extensions/mod/bin/dingus) | |
function() $ +# source file | |
=============================================================================================== | |
fail() $ +265 /usr/local/bdsm/modules/bash/logging/dsl | |
extension_action() $ +84 /usr/local/bdsm/modules/bash/extensions/dsl | |
main() $ +76 /usr/local/bin/bdsm | |
=============================================================================================== | |
EDITOR: less | |
Action binary/file dingus missing for extension mod | |
(/usr/local/bdsm/extensions/mod/bin/dingus) | |
function() $ +# source file | |
=============================================================================================== | |
fail() $ less +265 /usr/local/bdsm/modules/bash/logging/dsl | |
extension_action() $ less +84 /usr/local/bdsm/modules/bash/extensions/dsl | |
main() $ less +76 /usr/local/bin/bdsm | |
=============================================================================================== | |
EDITOR: nano | |
Action binary/file dingus missing for extension mod | |
(/usr/local/bdsm/extensions/mod/bin/dingus) | |
function() $ +# source file | |
=============================================================================================== | |
fail() $ nano +265 /usr/local/bdsm/modules/bash/logging/dsl | |
extension_action() $ nano +84 /usr/local/bdsm/modules/bash/extensions/dsl | |
main() $ nano +76 /usr/local/bin/bdsm | |
=============================================================================================== | |
EDITOR: vi | |
Action binary/file dingus missing for extension mod | |
(/usr/local/bdsm/extensions/mod/bin/dingus) | |
function() $ +# source file | |
=============================================================================================== | |
fail() $ vi +265 /usr/local/bdsm/modules/bash/logging/dsl | |
extension_action() $ vi +84 /usr/local/bdsm/modules/bash/extensions/dsl | |
main() $ vi +76 /usr/local/bin/bdsm | |
=============================================================================================== | |
EDITOR: vim | |
Action binary/file dingus missing for extension mod | |
(/usr/local/bdsm/extensions/mod/bin/dingus) | |
function() $ +# source file | |
=============================================================================================== | |
fail() $ vim +265 /usr/local/bdsm/modules/bash/logging/dsl | |
extension_action() $ vim +84 /usr/local/bdsm/modules/bash/extensions/dsl | |
main() $ vim +76 /usr/local/bin/bdsm | |
=============================================================================================== | |
EDITOR: emacs | |
Action binary/file dingus missing for extension mod | |
(/usr/local/bdsm/extensions/mod/bin/dingus) | |
function() $ +# source file | |
=============================================================================================== | |
fail() $ emacs +265 /usr/local/bdsm/modules/bash/logging/dsl | |
extension_action() $ emacs +84 /usr/local/bdsm/modules/bash/extensions/dsl | |
main() $ emacs +76 /usr/local/bin/bdsm | |
=============================================================================================== | |
EDITOR: mvim | |
Action binary/file dingus missing for extension mod | |
(/usr/local/bdsm/extensions/mod/bin/dingus) | |
function() Source | |
=============================================================================================== | |
fail() mvim://open?url=file:///usr/local/bdsm/modules/bash/logging/dsl&line=265 | |
extension_action() mvim://open?url=file:///usr/local/bdsm/modules/bash/extensions/dsl&line=84 | |
main() mvim://open?url=file:///usr/local/bin/bdsm&line=76 | |
=============================================================================================== | |
EDITOR: mate | |
Action binary/file dingus missing for extension mod | |
(/usr/local/bdsm/extensions/mod/bin/dingus) | |
function() Source | |
=============================================================================================== | |
fail() mate://open?url=file:///usr/local/bdsm/modules/bash/logging/dsl&line=265 | |
extension_action() mate://open?url=file:///usr/local/bdsm/modules/bash/extensions/dsl&line=84 | |
main() mate://open?url=file:///usr/local/bin/bdsm&line=76 | |
=============================================================================================== |
I prefer option 1, but without the linenumbers ... also, how about displaying line numbers as path:nnn ?
option 1, as is the (mostly common) standard, IMHO
Option 1, please. Indentation is hella bad as nesting gets deep and it's honestly the way I've grown accustomed to reading stack traces. It's ingrained to work back up the stack.
It would be easiest to read if the error message were at the same end of the stack trace as the failing function. [ie, at the top for option 1, or at the bottom for option 6.]
Opinions are like assholes.
Option 6 because it presents the most useful information at the bottom, which is the first thing I will see in my console. Scrolling up sucks.
You should change the line number syntax to +30 path/to/file
. This will allow one to copy/paste it into a vim
/ emacsclient
command:
vim +30 path/to/script.sh
Now that I LOVE :)
I like Option 6, with numbering removed. Having the relevant info as close to the bottom makes sense to me, it will prevent having to visually hunt for the most useful information.
Also, there can be a limited nest. This gets rid of the "OMG, it'll indent 4eva" problem while maybe highlighting/increasing readability for the last 4 levels (for example): https://gist.github.com/947599