MCPcopy Create free account
hub / github.com/microsoft/vscode-cpptools / unescapeString

Method unescapeString

Extension/src/Utility/Text/scanner.ts:904–953  ·  view source on GitHub ↗
(text: string)

Source from the content-addressed store, hash-verified

902 }
903
904 private unescapeString(text: string) {
905 let result = '';
906 let start = 0;
907 let pos = 0;
908 const end = text.length;
909
910 while (pos < end) {
911 let ch = text.charCodeAt(pos);
912 if (ch !== CharacterCodes.backslash) {
913 pos++;
914 continue;
915 }
916
917 result += text.substring(start, pos);
918 pos++;
919 ch = text.charCodeAt(pos);
920
921 switch (ch) {
922 case CharacterCodes.r:
923 result += '\r';
924 break;
925 case CharacterCodes.n:
926 result += '\n';
927 break;
928 case CharacterCodes.t:
929 result += '\t';
930 break;
931 case CharacterCodes.singleQuote:
932 result += '\'';
933 break;
934 case CharacterCodes.doubleQuote:
935 result += '"';
936 break;
937 case CharacterCodes.backslash:
938 result += '\\';
939 break;
940 case CharacterCodes.backtick:
941 result += '`';
942 break;
943 default:
944 throw new ScannerError('Invalid escape sequence', this.position.line, this.position.column);
945 }
946
947 pos++;
948 start = pos;
949 }
950
951 result += text.substring(start, pos);
952 return result;
953 }
954
955 scanIdentifier() {
956 this.text = this.scanUntil((ch) => !isIdentifierPart(ch));

Callers 1

scanStringMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected