NoShift.js

Icon

logo

Sources

NPM

https://www.npmjs.com/package/noshift.js

VSCode Marketplace

https://marketplace.visualstudio.com/items?itemName=otoneko1102.noshift-vscode

GitHub

https://github.com/otoneko1102/NoShift.js

Setup

npm install -g noshift.js@latest
npx nsjs create

English

Language

NoShift.js

Extension

.nsjs

Summary

Typing symbols with Shift is tiring. NoShift.js is a JavaScript-like language that allows you to write JavaScript without using the Shift key.
It compiles to plain JavaScript.

The mapping is based on the keyboard layout of the dev's laptop.

Symbol Mapping

Shifted Key NoShift.js
! ^1
" ^2
$ ^4
% ^5
& ^6
' ^7
( ^8
) ^9
= ^-
~ ^^
| ^\
` ^@
{ ^[
} ^]
+ ^;
* ^:
< ^,
> ^.
? ^/

Escaping in Strings

Example:

^2^5^2 --> "^5"
^7^5^7 --> '^5'
^@^5^@ --> `^5`

Template Literals (`${...}` syntax)

^@^5^4^[^2Hello World!^2^]^@ --> `^5${"Hello World!"}`

Hello World!

Example:

console.log^8^2Hello World!^2^9;

Result:

console.log("Hello World!");

日本語

言語名

NoShift.js

拡張子

.nsjs

概略

記号を入力するときに Shift を押すのが面倒なので、 Shift を押さずに JavaScript が書ける言語を作りました。
NoShift.js は JavaScript に変換されます。

この記号変換の基準は、開発者のノートパソコンのキーボード配列です。

記号の対応表

Shiftキーの記号 NoShift.jsでの記述
! ^1
" ^2
$ ^4
% ^5
& ^6
' ^7
( ^8
) ^9
= ^-
~ ^^
| ^\
` ^@
{ ^[
} ^]
+ ^;
* ^:
< ^,
> ^.
? ^/

文字列内のエスケープ

例:

^2^5^2 --> "^5"
^7^5^7 --> '^5'
^@^5^@ --> `^5`

テンプレートリテラル(${...} 構文)

^@^5^4^[^2Hello World!^2^]^@ --> `^5${"Hello World!"}`

Hello World!

例:

console.log^8^2Hello World!^2^9;

結果:

console.log("Hello World!");