/* * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * */ namespace Facebook\HackCodegen; /** * This class contains the default configuration for Hack code generation. */ final class HackCodegenConfig implements IHackCodegenConfig { private string $rootDir = __DIR__; private ?ICodegenFormatter $formatter = null; public function getFileHeader(): ?vec { // If you want a header on each generated file, insert it here. return null; } public function getSpacesPerIndentation(): int { return 2; } public function getMaxLineLength(): int { return 80; } public function shouldUseTabs(): bool { return false; } public function getRootDir(): string { return $this->rootDir; } public function getFormatter(): ?ICodegenFormatter { return $this->formatter; } public function withRootDir(string $root): this { $out = clone $this; $out->rootDir = $root; return $out; } public function withFormatter(ICodegenFormatter $formatter): this { $out = clone $this; $out->formatter = $formatter; return $out; } }