# Values

If you want some part of the source code not to be hardcoded, you can define custom values under the Project Structure. The most common cases can be port numbers, service addresses, and some configuration values, etc. Gotouch will ask user to change the values if he/she wants.

If following project structure is selected,

- name: Empty Project Layout
  reference: https://go.dev/
  url: https://github.com/denizgursoy/go-touch-projects.git
  branch: empty
  language: go
  values: # optional, cannot be changed by the user
    BaseURL: /v1
  customValues: # optional, can be changed by the user
    Port: 8080

Gotouch will ask whether user wants to change the custom values under the selected project structure.

Edit Values

Gotouch uses editor of survey (opens new window). It launches your default editor for YAML. If you want to change your editor, set $VISUAL or $EDITOR environment variables.

Vim editor

When you exit the editor, gotouch will save the values and continue creating the project. Values under the selected project structure will be merged with all selected choices' values.

WARNING

values of selected choices and the selected project structure cannot be changed. If you need some changeable values use customValues of choices.

# Default Values

Apart from these values, you can use following predefined values :

ModuleName: Module name user typed (github.com/denigursoy/foo)
ProjectName: Project directory name (foo)
WorkingDirectory: Location where Gotouch command is executed (/tmp)
ProjectFullPath: Project's root directory (/tmp/foo)
Dependencies: Array of dependencies of all selected choices