Rules the SAS® Studio editor uses to transform text to Camel case


Starting with Stable version 2025.06, SAS Studio uses a new a new open-source base editor, which provides a significant number of new features and enhancements, such as the conversion of text into Camel case.

This SAS KB article explains how this conversion behaves for particular situations.

Line Breaks

From Stable version 2025.10 and earlier, the transformation to Camel did not preserve line breaks. 

For example, line breaks were not preserved if you completed steps similar to the following:

  1. Select the following entire multiline DATA step:

    data test_OneTwoThree;
    set sashelp.class (Obs=10);
    run;

  2. Run the Camel case transformation (up to Stable 2025.10), which results in a single line:

    dataTestOneTwoThree;SetSashelp.class(Obs=10);Run;

Starting with Stable 2025.11, the conversion results in a multiline DATA step:

data testOneTwoThree;

set sashelp.class (Obs=10);

run;

Note that whitespace and included line endings are now preserved, resulting in separate, multiple Camel-cased phrases.

Whitespaces, Underscores, and Hyphens

If you select text within a single line and run the Camel case transformation, the selected text is converted to a single Camel-cased phrase where all whitespace, hyphens, and underscores are removed. Whitespace, hyphens, or underscores in the original text are used to identify the start of the next component word in the phrase. As a result, the whitespace, hyphens, or underscores are capitalized.

Here is an example transformation:

If you select text that spans multiple lines and run the Camel case transformation, the selected text is converted to one or more Camel-cased phrases separated by existing whitespace. (Whitespace is preserved.) In this scenario, only hyphens or underscores in the original text are used to identify the start of the next component word in the phrase, since whitespace is preserved to separate phrases.

Here is an example transformation:

Data test-one_two Three;

Data test-one_two Three;

data testOneTwo Three;

Data testOneTwo Three;