{"id":28100416,"url":"https://github.com/tidev/pulsar-titanium","last_synced_at":"2025-05-13T18:34:39.426Z","repository":{"id":37951201,"uuid":"66564494","full_name":"tidev/pulsar-titanium","owner":"tidev","description":"Titanium SDK development tools and UI package for the Pulsar text editor","archived":false,"fork":false,"pushed_at":"2024-03-06T21:45:56.000Z","size":5938,"stargazers_count":36,"open_issues_count":24,"forks_count":11,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-05-01T11:49:18.187Z","etag":null,"topics":["alloy","atom","javascript","titanium"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tidev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":"tidev","liberapay":"tidev"}},"created_at":"2016-08-25T14:21:58.000Z","updated_at":"2024-03-31T08:58:26.000Z","dependencies_parsed_at":"2023-02-16T11:05:32.909Z","dependency_job_id":"55ead067-2e68-4c88-9b8e-fc58539db742","html_url":"https://github.com/tidev/pulsar-titanium","commit_stats":null,"previous_names":["tidev/atom-appcelerator-titanium"],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidev%2Fpulsar-titanium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidev%2Fpulsar-titanium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidev%2Fpulsar-titanium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidev%2Fpulsar-titanium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tidev","download_url":"https://codeload.github.com/tidev/pulsar-titanium/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254003655,"owners_count":21997920,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alloy","atom","javascript","titanium"],"created_at":"2025-05-13T18:34:38.792Z","updated_at":"2025-05-13T18:34:39.411Z","avatar_url":"https://github.com/tidev.png","language":"JavaScript","funding_links":["https://github.com/sponsors/tidev","https://liberapay.com/tidev"],"categories":[],"sub_categories":[],"readme":"# Titanium SDK Package for Pulsar\n\nTitanium SDK build tools and UI for the [Pulsar text editor](https://pulsar-edit.dev/) (formally Atom).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/10667698/42400977-8e552cde-8141-11e8-8696-1380eb9dd581.png\" width=\"900px\" alt=\"Titanium SDK for Pulsar screenshot\" /\u003e\n\n## Getting Started\n\n* Pulsar is required.\n* Install `titanium` package.\n\n### Using the Pulsar package manager\n\nPreferences/Settings \u003e Install \u003e Search for `titanium`.\n\n### Using the CLI:\n\nUse `ppm` (Pulsar package manager):\n\n```\npulsar --package install pulsar-titanium\n```\n\nYou can also use the repo URL to install the latest repo version:\n```\npulsar --package install https://github.com/tidev/pulsar-titanium\n```\n\n## Open a Titanium project\n\nFile \u003e Open... \u003e Browse to Titanium project\n\nFrom the CLI:\n\n```\npulsar /path/to/titanium/project\n```\n\n## Features\n\n### Commands\n\nCommand                 | Keymap            | Description\n---                     | ---               | ---\nappc:build              | `ctrl-alt-enter`  | Build using the current selected command and configuration\nappc:stop               | None              | Stop the current build\nappc:console            | None              | Toggle the console\nappc:generate           | None              | Open dialog to generate a new alloy file or component\nappc:take-screenshot    | None              | Take a screenshot of the currently running device\nappc:open view          | `ctrl-alt-v`      | Open the related Alloy XML file\nappc:open style         | `ctrl-alt-s`      | Open the related Alloy TSS file\nappc:open controller    | `ctrl-alt-x`      | Open the related JavaScript file\nappc:open close related | `ctrl-alt-a`      | Toggle the related Alloy XML, TSS and Javascript files\nappc:clean | `ctrl-alt-k`      | Clean the current project directory\n\n### Build tools\n\n#### Selecting Tooling\n\nBy default this package will use the Titanium CLI tooling. You can switch to the Titanium CLI tooling by enabling the `Use ti commands` property in the package settings.\n\n#### Toolbar\n\nThe toolbar provides a UI to commonly used commands when developing a Titanium application. Further information on each function is provided in the sections below.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/10667698/42401225-aecbb72a-8142-11e8-9f6f-653925d8f432.png\" width=\"722px\"  alt=\"Toolbar\" /\u003e\n\n##### 1. Build select and run\n\nSelect to run on simulator or device, package for ad-hoc or App Store distribution or a custom build option.\n\n##### 2. Platform select\n\nSelect available platforms to build for.\n\n##### 3. Target select\n\nSelect simulator/emulator or local device. When attaching a device, select Refresh Targets option to add it to the target list.\n\n##### 4. Code signing / Android KeyStore configuration\n\nWhen building for device (iOS) or distribution (iOS and Android) the option to configure code signing or keystore credentials is available.\n\n##### 5. LiveView toggle\n\nToggle the LiveView icon to enable or disable LiveView in your application.\n\n##### 6. Info panel\n\nProvides information about the active project.\n\n##### 7. Generate component\n\nPresents a dialog to generate a Titanium component: Controller, View, Style, Model, Widget or Alloy.jmk file.\n\n##### 8. Console\n\nShow or hide the console which outputs debug information during build and run.\n\n#### Build\n\nThe build select button executes and provides selections of the build command. Depending on the target platform selected, the drop-down will display options for the `ti build` command:\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/33169524-ed2b85ca-d03c-11e7-881e-4eb9e301649d.png\" width=\"109px\" alt=\"Build command select\" /\u003e\n\n* Run: Build and run the app on selected simulator/emulator or device\n* Ad-Hoc: (iOS only) build and package the app for Ad-Hoc distribution using selected code signing\n* Publish: Build and package the app for distribution through the App Store or Google Play using selected code signing or keystore credentials\n* Custom: Execute `ti build -d \u003cproject_dir\u003e` with custom arguments\n\n#### Console\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/33169526-ed531cf2-d03c-11e7-8d08-5657f691aca2.png\" width=\"876px\" alt=\"Build command select\" /\u003e\n\nThe console displays debug logging during the build and run. The log level is passed to the `ti build` command so selecting the log level does not alter output from the currently executing command. There are options to automatically scroll the console to the latest message and to open it when a build is initiated.\n\n**By default the executing command is displayed in the console to aid debugging. This can be disabled in the package settings.**\n\n#### iOS code signing\n\nWhen building for a device and ad-hoc or App Store distribution, a certificate and provisioning profile must be selected. Click the code signing / keystore button (#4) to display the code signing options.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/33169525-ed3f58a2-d03c-11e7-9b58-48b361328d69.png\" width=\"479px\" alt=\"iOS code signing\" /\u003e\n\nCertificates are populated according to the selected build option (developer / distribution). Available provisioning profiles are displayed but only those which match the selected certificate and app ID are enabled.\n\n#### Android KeyStore\n\nWhen building for distribution through Google Play, the app must be signed with a keystore. Click the code signing / keystore button (#4) to display the keystore options.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/33169528-ed7b7922-d03c-11e7-9647-cc39256dc94a.png\" width=\"1110px\" alt=\"Android keystore\" /\u003e\n\nThe path to the keystore can be entered manually or by using the file picker. Keystore path and alias are stored in package configuration.\n\n### Autocompletion\n\nAutocompletion support is provided to help speed up development by providing quick references to Titanium APIs and Alloy markup as well as references to modules, widgets and assets within your project.\n\n#### Generation\n\nOn initial launch, autocomplete suggestions are generated for the current selected Titanium SDK. You can check and set this using the CLI:\n\n```\n$ ti sdk\n\n...\n\nInstalled SDKs:\n   7.2.0.GA [selected]  7.2.0.GA\n```\n\n```\n$ ti sdk select\n```\n\nAutocomplete suggestions can be regenerated by selecting the 'Regenerate autocomplete suggestions' option from the package settings and relaunching Pulsar.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/33169527-ed667b9e-d03c-11e7-8a48-9c34f4c8b5e2.png\" width=\"562px\" alt=\"Regenerate autocomplete suggestions option\" /\u003e\n\n#### Titanium and Alloy\n\nTitanium APIs and Alloy markup suggestions are provided in Titanium JavaScript and Alloy XML and TSS files. This includes classes, properties, methods and events. Where appropriate additional information is provided with a link to the online documentation. Deprecated properties are also indicated.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/33011938-54d3d302-cdd7-11e7-910c-531f51454f74.png\" width=\"385px\" alt=\"Alloy markup class autocomplete\" /\u003e\n\n#### Project references\n\nSuggestions for other controllers, modules and widgets are presented when referencing through a Titanium function or Alloy markup.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/33011939-54ebd5c4-cdd7-11e7-8cdd-b39a8c8b92d3.png\" width=\"324px\" alt=\"Alloy markup widget reference autocomplete\" /\u003e\n\n#### Class and ID references\n\nSuggestions for classes and IDs declared or defined in related Alloy XML and TSS files are presented.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/33011940-550697c4-cdd7-11e7-8c56-b6ad9cb400a8.png\" width=\"251px\" alt=\"TSS class reference autocomplete\" /\u003e\n\n#### Images\n\nImage suggestions are presented where appropriate, including a thumbnail preview and information about the scaled versions available.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/33011941-551aca50-cdd7-11e7-86ec-cae8ea0430ff.png\" width=\"558px\" alt=\"TSS image reference autocomplete\" /\u003e\n\n### Alloy file and component generation\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/33011944-555909fa-cdd7-11e7-8bc8-0301059b360d.png\" width=\"639px\" alt=\"Alloy file and component generate dialog\" /\u003e\n\nA UI for the `alloy generate` command is provided. The Generate File dialog is presented by clicking the + icon in the toolbar or using the command from the menu or palette. Select the type of file or component to generate and provide the required information. The generated file(s) are then opened.\n\n### Open related files\n\nOpening related Alloy files is supported (see above commands list).\n\n* From View, open related Style and/or Controller\n* From Style, open related View and/or Controller\n* From Controller, open related View and/or Style\n\n### Jump-to-definition\n\nJump-to-definition support is provided for quickly accessing the definiion or usage of Alloy markup and to easily generate new definitions. Images can be opened directly from their path.\n\n#### Alloy\n\nFrom Views, click through to style definitions for tags, classes and IDs, in related or global TSS. Click through to event definitions in the related controller.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/33011943-554470ee-cdd7-11e7-9e04-1e49272c3f6d.png\" width=\"257px\" alt=\"View tag style definition\" /\u003e\n\nA prompt is displayed to generate undefined styles or functions.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/33011942-553025bc-cdd7-11e7-8389-572b2bf811e0.png\" width=\"539px\" alt=\"View tag style generate definition\" /\u003e\n\n#### Strings\n\nClick on localised string references to jump to their definition. The option to generate undefined strings is provided.\n\n#### Images\n\nClick on an image path to open the image in a new tab. For iOS, where multiple scaled images exist with the same name the first is opened (e.g. @2x).\n\n### Snippets\n\nCode snippets for common Alloy and Titanium APIs are provided for use in Alloy controllers and modules. A description of the snippet and link to documentation are provided where appropriate. Type the prefix and the autocomplete overlay will be displayed with matching snippets.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/2697821/35726837-259fe6be-07fe-11e8-9a73-ea13a8572723.png\" width=\"356px\" alt=\"Code snippet suggestions\" /\u003e\n\nPrefix          | Description\n---             | ---\n`tidebug`       | Debug log message\n`tierror`       | Error log message\n`tiinfo`        | Info log message\n`tiwarn`        | Warn log message\n`titrace`       | Trace log message\n`tiaddevent`    | Add event listener\n`tiremevent`    | Remove event listener\n`tifireevent`   | Fire event\n`tialert`       | Show alert dialog\n`tiopt`         | Show option dialog\n`tianim`        | View animation\n`tifile`        | Open file\n`tisound`       | Play sound\n`tiaudio`       | Play local or remote audio\n`tivideo`       | Play local or remove video\n`ticamera`      | Open camera\n`alglo`         | Alloy Globals object\n`alcfg`         | Alloy CFG object\n`alcon`         | Alloy create controller function\n`alcol`         | Alloy create collection function\n`almod`         | Alloy create model function\n`alwid`         | Alloy create widget function\n`ifios`         | iOS conditional statement\n`ifand`         | Android conditional statement\n\n## Contributions\n\nThis package would not be possible without support from the Titanium community. Autocompletion, jump-to-definition and grammar support provided by [Jong Eun Lee](https://github.com/yomybaby) through the [Titanium Alloy package](https://github.com/yomybaby/atom-titanium). Also a huge **thanks** to all our [open source contributors](https://github.com/tidev/pulsar-titanium/graphs/contributors) that help making every release\nunique for the Titanium community!\n\n### Additional thanks\n\nWe doff our caps to:\n\n* [Titanium-Build](https://github.com/HazemKhaled/Titanium-Build)\n* [tool-bar](https://github.com/suda/tool-bar)\n* [toolbar-basic](https://github.com/mattlovaglio/toolbar-basic)\n\n## Legal stuff\n\nTitanium is a registered trademark of TiDev Inc. All Titanium trademark and patent rights were transferred and assigned to TiDev Inc. on 4/7/2022. Please see the LEGAL information about using our trademarks, privacy policy, terms of usage and other legal information at https://tidev.io/legal.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftidev%2Fpulsar-titanium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftidev%2Fpulsar-titanium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftidev%2Fpulsar-titanium/lists"}