Language-sensitive whitespace adjustment in a software engineering tool
View Patent ↗An editor or software engineering tool may be configured to render whitespace between adjacent tokens, wherein the amount of whitespace between any two adjacent tokens is determined according to language-specific style rules and scaled in accordance with display considerations. In some realizations, the operative scaling is selected or defined by a user according to the user's visual preferences. In some realizations, the operative scaling relates to requirements or constraints of an automated layout mechanism. For example, a particular scaling may be calculated to adjust line length in conformance with a desired margin alignment or to optimize layout when long lines are automatically wrapped (or folded) in some automatic way.
1. A software engineering tool that recognizes language tokens and computes for display whitespace amounts between adjacent instances thereof according to language-specific style rules, the software engineering tool further providing, for at least a grouping of those language tokens displayed, dynamic adjustment of the computed whitespace amounts in accordance with an operative scaling factor therefor.
2. The software engineering tool of claim 1 ,
wherein the dynamic adjustment is performed in response to selection of the operative scaling factor by a user of the software engineering tool.
3. The software engineering tool of claim 1 ,
wherein the dynamic adjustment is performed under control of an automated layout mechanism.
4. The software engineering tool of claim 1 , wherein the operative scaling factor includes one or more of:
a linear scaling of the whitespace amounts; and
a non-linear scaling of the whitespace amounts.
5. The software engineering tool of claim 1 , wherein the operative scaling factor is selectable in one of:
continuous units; and
discrete units.
6. The software engineering tool of claim 1 ,
wherein the operative scaling factor is selected to conform display of the grouping of language tokens to one or more dimensions of a particular view thereof.
7. The software engineering tool of claim 1 , wherein the grouping of language tokens for which the dynamic adjustment is provided is one of:
a line thereof;
plural lines thereof;
all lines of a particular view thereof; and
only particular lines of the particular view thereof.
8. The software engineering tool of claim 1 , configured as one or more of:
an editor;
a source level debugger;
a class viewer;
a profiler; and
an integrated development environment.
9. The software engineering tool of claim 1 , embodied as software encoded in one or more computer readable media and executable on a processor.
10. The software tool of claim 1 , wherein the language-specific style rules include style rules in accordance with lexical type of language tokens.
11. A method of presenting textual content that includes a sequence of tokens recognizable in accordance with a predefined language model, the method comprising:
calculating whitespace amounts for visual presentation between adjacent pairs of recognized tokens, wherein the calculated whitespace amount for visual presentation between a first pair of the tokens differs from that between a second pair of the tokens, each in accordance with language-specific style rules; and
for at least a subset of the token sequence, applying an operative scaling factor in the calculating of respective ones of the whitespace amounts.
12. The method of claim 11 ,
recognizing the tokens based on the predefined language model; and
performing the calculation of respective whitespace amounts based on a property of one or more adjacent ones of the recognized tokens.
13. The method of claim 12 ,
wherein the property includes a token-type-specific leftward or rightward white space amount.
14. The method of claim 11 ,
displaying the visual presentation, including the scaled whitespace amounts, as editable textual content.
15. The method of claim 11 ,
rendering the visual presentation, including the scaled whitespace amounts, as viewable textual content.
16. The method of claim 11 ,
wherein the operative scaling factor is selected by a user of a software engineering tool that implements the method.
17. The method of claim 11 , further comprising:
displaying or rendering the visual presentation,
wherein the operative sealing factor is selected under control of an automated layout mechanism.
18. The method of claim 11 ,
wherein the operative scaling factor is linear.
19. The method of claim 11 ,
wherein the operative scaling factor provides non-linear scaling of the whitespace amounts.