All Projects → forcedotcom → apex-tmLanguage

forcedotcom / apex-tmLanguage

Licence: other
Salesforce Apex Language syntax grammar used for colorization

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to apex-tmLanguage

apex-fp
Functional programming for Salesforce Apex
Stars: ✭ 231 (+755.56%)
Mutual labels:  salesforce, apex, salesforce-developers, salesforcedx
apex-dml-mocking
DML mocking, CRUD mocking, dependency injection framework for Salesforce.com (SFDC) using Apex
Stars: ✭ 38 (+40.74%)
Mutual labels:  salesforce, apex, salesforce-developers, salesforcedx
Apex-Code-Conventions
Apex conventions and best practices for Salesforce Developers
Stars: ✭ 28 (+3.7%)
Mutual labels:  salesforce, apex, salesforce-developers, salesforcedx
Script.apex
Evaluate Javascript expressions in Apex
Stars: ✭ 18 (-33.33%)
Mutual labels:  salesforce, apex, salesforce-developers
apex-utils
Utility classes for Salesforce Apex development
Stars: ✭ 20 (-25.93%)
Mutual labels:  salesforce, apex, salesforce-developers
texei-sfdx-plugin
Texeï's plugin for sfdx
Stars: ✭ 99 (+266.67%)
Mutual labels:  salesforce, salesforce-developers, salesforcedx
apexmock
force.com Mock data and fixtures for Apex Unit Tests
Stars: ✭ 24 (-11.11%)
Mutual labels:  salesforce, apex, salesforce-developers
apex-mocks-stress-test
Testing out FFLib versus Crud / CrudMock
Stars: ✭ 47 (+74.07%)
Mutual labels:  salesforce, apex, salesforce-developers
apex-rollup
Fast, configurable, elastically scaling custom rollup solution. Apex Invocable action, one-liner Apex trigger/CMDT-driven logic, and scheduled Apex-ready.
Stars: ✭ 133 (+392.59%)
Mutual labels:  salesforce, apex, salesforce-developers
NebulaFramework
A development framework for Salesforce's Apex language & the Force.com platform
Stars: ✭ 28 (+3.7%)
Mutual labels:  salesforce, apex, salesforce-developers
R.apex
Functional utility library for Apex
Stars: ✭ 80 (+196.3%)
Mutual labels:  salesforce, apex, salesforce-developers
canvas-starter-kit
A template for developing on the Salesforce Canvas platform in Javascript.
Stars: ✭ 23 (-14.81%)
Mutual labels:  salesforce, salesforce-developers
timeline-component-lwc
This component enables timeline view for Salesforce Record history.
Stars: ✭ 18 (-33.33%)
Mutual labels:  salesforce, apex
dreaminvest-lwc
Sample application for Lightning Web Components on Salesforce Platform. Part of the sample gallery. Financial services use case. Get inspired and learn best practices.
Stars: ✭ 41 (+51.85%)
Mutual labels:  salesforce, apex
DXMate
Sublime Text 3 plugin to provide integration with the Salesforce DX CLI
Stars: ✭ 14 (-48.15%)
Mutual labels:  salesforce, salesforcedx
Apex Lambda
Functional programming for Salesforce Apex
Stars: ✭ 189 (+600%)
Mutual labels:  salesforce, apex
ApexCallouts
A lightweight Apex library for making HTTP callouts. Works with remote site settings and named credentials.
Stars: ✭ 32 (+18.52%)
Mutual labels:  salesforce, apex
sfdc-error-playground
Lightning & Apex Error Playground
Stars: ✭ 30 (+11.11%)
Mutual labels:  salesforce, apex
Dreamhouse Sfdx
Salesforce Sample App part of the sample gallery. Real estate use case. Get inspired and learn best practices.
Stars: ✭ 164 (+507.41%)
Mutual labels:  salesforce, apex
Haoide
Stop upgrade, most of features were delivered in https://github.com/xjsender/haoide-vscode
Stars: ✭ 194 (+618.52%)
Mutual labels:  salesforce, apex

Salesforce Apex Language Grammar

CircleCI Commitizen friendly

Introduction

This repository contains the source code for generating the language grammar files for Salesforce's Apex.

Disclaimer

Development and setup of this project has not been tested for Windows OS. You may see a node-gyp error - follow the instrutions here to resolve it.

Development

To build and test install Node.js do the following:

  • Run npm install to install any dependencies.
  • Run gulp to build.
  • Run npm run test to run tests.

Output grammars are output in the grammars/ directory.

To see the token changes from within the Salesforce VS Code Extensions:

  1. Copy the apex.tmLanguage results into ../salesforcedx-vscode/packages/salesforcedx-vscode-apex/node_modules/@salesforce/apex-tmlanguage/grammars/apex.tmLanguage.
  2. From the Command Palette select Developer: Inspect Editor Tokens and Scopes.

Adding grammar rules

Token structure is based off of Textmate's Language Grammar guidelines

Tests for SOQL grammar

For the standalone SOQL grammar, tests are executed with vscode-tmgrammar-tests.

test/soql/
|-- simple_account.soql "Manually" created test cases
|-- ...
`-- snapshots/          "Snapshot-based" test cases
    |-- example-*.soql
    |-- example-*.soql.snap
    `-- ...

The difference between manual vs. snapshot tests is that the latter are auto-generated and can be updated with command vscode-tmgrammar-snap -u. They are useful to quickly see the output of applying the grammar and catch regressions.

The example-* queries were taken from Example SELECT clauses.

Supported outputs

  • grammars/apex.tmLanguage.cson - for Atom
  • grammars/apex.tmLanguage - TextMate grammar (XML plist)
  • grammars/soql.tmLanguage - TextMate grammar (XML plist) for standalone SOQL files

Releasing

Tags on this repo get automatically published as a GitHub release and an NPM package through Travis CI.

Attribution

This repository was copied from https://github.com/dotnet/csharp-tmLanguage

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].