<html lang="en-us">

<head>
  <meta name="theme" content="Syna">
  <meta name="theme-version" content="v0.16.2">
  <meta name="theme-url" content="https://syna.okkur.org">
  <meta name="theme-description" content="Highly customizable open source theme for Hugo based static websites">
  <meta name="theme-author" content="Okkur Labs">
  <meta name="theme-author-url" content="https://about.okkur.org">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta name="google" content="notranslate" />
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <meta name="description" content="Eclipse Grapical Language Server Platform">
  <meta property="og:title" content="404 Page not found" />
<meta property="og:description" content="Eclipse Grapical Language Server Platform" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.eclipse.org/glsp/404.html" />


  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="404 Page not found &amp;middot; Eclipse Graphical Language Server Platform" />
  <meta name="twitter:description" content="Eclipse Grapical Language Server Platform">
  <meta name="twitter:url" content="https://www.eclipse.org/glsp/404.html" />
    <meta property="og:image" content="">
    <meta name="twitter:image" content="">
  <meta name="author" content="Eclipse Foundation">

  <meta name="generator" content="Hugo 0.58.3" />

  <title>404 Page not found &middot; Eclipse Graphical Language Server Platform</title>

  <!-- Theme Styles -->
  <style>
.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important; }

 
@-ms-viewport {
  width: device-width; }

html {
  box-sizing: border-box;
  -ms-overflow-style: scrollbar; }

*,
*::before,
*::after {
  box-sizing: inherit; }

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  max-width: 540px;
  max-width: 720px;
  max-width: 960px;
  max-width: 1140px; }

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px; }

.no-gutters {
  margin-right: 0;
  margin-left: 0; }
  .no-gutters > .col,
  .no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0; }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px; }

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%; }

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: none; }

.col-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.col-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.col-3 {
  flex: 0 0 25%;
  max-width: 25%; }

.col-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.col-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.col-6 {
  flex: 0 0 50%;
  max-width: 50%; }

.col-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.col-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.col-9 {
  flex: 0 0 75%;
  max-width: 75%; }

.col-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.col-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.col-12 {
  flex: 0 0 100%;
  max-width: 100%; }

.order-first {
  order: -1; }

.order-last {
  order: 13; }

.order-0 {
  order: 0; }

.order-1 {
  order: 1; }

.order-2 {
  order: 2; }

.order-3 {
  order: 3; }

.order-4 {
  order: 4; }

.order-5 {
  order: 5; }

.order-6 {
  order: 6; }

.order-7 {
  order: 7; }

.order-8 {
  order: 8; }

.order-9 {
  order: 9; }

.order-10 {
  order: 10; }

.order-11 {
  order: 11; }

.order-12 {
  order: 12; }

.offset-1 {
  margin-left: 8.33333%; }

.offset-2 {
  margin-left: 16.66667%; }

.offset-3 {
  margin-left: 25%; }

.offset-4 {
  margin-left: 33.33333%; }

.offset-5 {
  margin-left: 41.66667%; }

.offset-6 {
  margin-left: 50%; }

.offset-7 {
  margin-left: 58.33333%; }

.offset-8 {
  margin-left: 66.66667%; }

.offset-9 {
  margin-left: 75%; }

.offset-10 {
  margin-left: 83.33333%; }

.offset-11 {
  margin-left: 91.66667%; }

.d-none {
  display: none !important; }

.d-inline {
  display: inline !important; }

.d-inline-block {
  display: inline-block !important; }

.d-block {
  display: block !important; }

.d-table {
  display: table !important; }

.d-table-row {
  display: table-row !important; }

.d-table-cell {
  display: table-cell !important; }

.d-flex {
  display: flex !important; }

.d-inline-flex {
  display: inline-flex !important; }

@media print {
  .d-print-none {
    display: none !important; }
  .d-print-inline {
    display: inline !important; }
  .d-print-inline-block {
    display: inline-block !important; }
  .d-print-block {
    display: block !important; }
  .d-print-table {
    display: table !important; }
  .d-print-table-row {
    display: table-row !important; }
  .d-print-table-cell {
    display: table-cell !important; }
  .d-print-flex {
    display: flex !important; }
  .d-print-inline-flex {
    display: inline-flex !important; } }

.flex-row {
  flex-direction: row !important; }

.flex-column {
  flex-direction: column !important; }

.flex-row-reverse {
  flex-direction: row-reverse !important; }

.flex-column-reverse {
  flex-direction: column-reverse !important; }

.flex-wrap {
  flex-wrap: wrap !important; }

.flex-nowrap {
  flex-wrap: nowrap !important; }

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important; }

.flex-fill {
  flex: 1 1 auto !important; }

.flex-grow-0 {
  flex-grow: 0 !important; }

.flex-grow-1 {
  flex-grow: 1 !important; }

.flex-shrink-0 {
  flex-shrink: 0 !important; }

.flex-shrink-1 {
  flex-shrink: 1 !important; }

.justify-content-start {
  justify-content: flex-start !important; }

.justify-content-end {
  justify-content: flex-end !important; }

.justify-content-center {
  justify-content: center !important; }

.justify-content-between {
  justify-content: space-between !important; }

.justify-content-around {
  justify-content: space-around !important; }

.align-items-start {
  align-items: flex-start !important; }

.align-items-end {
  align-items: flex-end !important; }

.align-items-center {
  align-items: center !important; }

.align-items-baseline {
  align-items: baseline !important; }

.align-items-stretch {
  align-items: stretch !important; }

.align-content-start {
  align-content: flex-start !important; }

.align-content-end {
  align-content: flex-end !important; }

.align-content-center {
  align-content: center !important; }

.align-content-between {
  align-content: space-between !important; }

.align-content-around {
  align-content: space-around !important; }

.align-content-stretch {
  align-content: stretch !important; }

.align-self-auto {
  align-self: auto !important; }

.align-self-start {
  align-self: flex-start !important; }

.align-self-end {
  align-self: flex-end !important; }

.align-self-center {
  align-self: center !important; }

.align-self-baseline {
  align-self: baseline !important; }

.align-self-stretch {
  align-self: stretch !important; }
</style>

  <link href="/glsp/style.min.97fd59ead90e7d268b3459fd7135011ea1052fbce399d5f2be161dfd1bfa3b29.css" rel="stylesheet">
      <link rel="shortcut icon" type="image/x-icon" href="/glsp/favicon.ico">
      <link rel="icon" sizes="16x16 32x32" type="image/x-icon" href="/glsp/favicon.ico">
      <link rel="icon" href="/glsp/favicon.png">
      <link rel="apple-touch-icon-precomposed" href="/glsp/favicon.png">

  <script>
    window.syna = {
      
    };
  </script>
  <script src="/glsp/scripts/syna-head.min.0757f18970a0a32d5acac5a2accc5fe82f787821866c545d9ed17ca765f291a3.js"></script></head>
<body class="bg-secondary">
    <!-- Navigation --><nav class="overlay fragment navbar navbar-expand-lg py-2 scroll-spy bg-light navbar-light" id="nav" role="navigation">
  <div class="container">
      <a class="navbar-brand py-0" href="/glsp/#">
        <img src="/glsp/images/logo.png" height="35" class="d-inline-block align-top" alt="GLSP">
      </a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="navbar-collapse justify-content-end collapse show" id="navbarCollapse">
      <ul class="navbar-nav"><li class="nav-item">
              <a href="/glsp"
                  class="nav-link">
                Home
              </a>
            </li><li class="nav-item">
              <a href="/glsp/support"
                  class="nav-link">
                Support
              </a>
            </li><li class="nav-item">
              <a href="/glsp/documentation"
                  class="nav-link">
                Documentation
              </a>
            </li><li class="nav-item">
              <a href="/glsp/contact"
                  class="nav-link">
                Contact
              </a>
            </li><li class="nav-item">
              <a href="https://github.com/eclipse-glsp/glsp"
                  class="nav-link">
                GitHub
              </a>
            </li>
      </ul>
    </div>
  </div>
</nav>

<div class="scroll-to-top bg-primary has-font-icon"
  title="Back to top"
  ><i class="fas fa-angle-up"></i><span class="sr-only">Back to top</span>
</div>
<!-- Footer -->
<section id="footer" class="fragment ">
    <div class="container-fluid bg-light ">
    <div class="container py-5 ">

  <div class="row">
    <div class="col-md m-2 text-body">
        <h4></h4>
        <a href="#">
          <img src="/glsp/images/logo.png" class="img-fluid w-50" alt="GLSP">
        </a>
        <div class="row justify-content-left ml-0">
            <span class="fa-stack fa-2x mt-3 mr-1" title="twitter">
              <a href="https://twitter.com/eclipseglsp" class="ignore-color-change">
                <i class="fas fa-circle fa-stack-2x"></i>
                <i class="fab fa-twitter fa-stack-1x fa-fw text-light"></i>
                <span class="sr-only">twitter</span>
              </a>
            </span>
            <span class="fa-stack fa-2x mt-3 mr-1" title="github">
              <a href="https://github.com/eclipse-glsp/glsp" class="ignore-color-change">
                <i class="fas fa-circle fa-stack-2x"></i>
                <i class="fab fa-github fa-stack-1x fa-fw text-light"></i>
                <span class="sr-only">github</span>
              </a>
            </span>
            <span class="fa-stack fa-2x mt-3 mr-1" title="spectrum">
              <a href="https://spectrum.chat/glsp/" class="ignore-color-change">
                <i class="fas fa-circle fa-stack-2x"></i>
                <i class="far fa-comments fa-stack-1x fa-fw text-light"></i>
                <span class="sr-only">spectrum</span>
              </a>
            </span>
        </div>
    </div>
    <div class="col-md m-2 text-body">
        <h4>Related Projects</h4>
        <ul class="nav flex-column">
              <li class="nav-item">
                <a class="nav-link p-0 display-5" href="https://projects.eclipse.org/projects/ecd.sprotty">Eclipse Sprotty</a>
              </li>
              <li class="nav-item">
                <a class="nav-link p-0 display-5" href="https://projects.eclipse.org/projects/ecd.emfcloud">Eclipse EMF.cloud</a>
              </li>
              <li class="nav-item">
                <a class="nav-link p-0 display-5" href="https://eclipsesource.com/technology/eclipse-theia">Eclipse Theia IDE</a>
              </li>
              <li class="nav-item">
                <a class="nav-link p-0 display-5" href="https://eclipse.org/che">Eclipse Che</a>
              </li>
        </ul>
    </div>
    <div class="col-md m-2 text-body">
        <div>

<h4 id="graphical-language-server-platform">Graphical Language Server Platform</h4>

<p>GLSP is a project hosted at the Eclipse Foundation, led by <a href="https://projects.eclipse.org/projects/ecd.glsp/who">Philip Langer</a>, organized within the <a href="https://projects.eclipse.org/projects/ecd">Eclipse Cloud Development</a> project.</p>
</div>
    </div>
  </div>
    </div>
    </div>
</section>


<!-- Copyright -->
<footer class="overlay fragment container-fluid bg-secondary" id="copyright">
  <div class="container">
    <div class="row py-3">
      <div class="col-md">
        <div class="row mx-0 my-2 justify-content-center text-center text-lg-none text-black-50">
          <div class="row mx-0 mr-lg-auto justify-content-center">
              <div class="col-auto px-1 copyright-legal">© Copyright&nbsp;2020</div>
              <div class="col-auto px-0 copyright-by"> by  Eclipse Foundation</div>
          </div>
        </div>
      </div>
        <div class="col-md">
          <div class="row mx-0 my-2 justify-content-center">
            <ul class="nav ml-lg-auto">
                <li class="nav-item">
                  <a class="nav-link py-0" href="https://projects.eclipse.org/projects/ecd.glsp"
                  >About</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link py-0" href="https://www.eclipse.org/legal/privacy.php"
                  >Privacy Policy</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link py-0" href="https://www.eclipse.org/legal/termsofuse.php"
                  >Terms of Use</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link py-0" href="https://www.eclipse.org/legal/copyright.php"
                  >Copyright</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link py-0" href="https://www.eclipse.org/legal/"
                  >Legal</a>
                </li>
            </ul>
          </div>
        </div>
    </div>
  </div>
</footer>
<div id="react"></div>
    <div class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog" role="document">
          <div class="modal-content">
            <div class="modal-header row mx-0">
              <div class="modal-title col px-0">
                <h5 class="title text-dark"></h5>
                <h6 class="subtitle text-secondary"></h6>
              </div>
              <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                <span aria-hidden="true">&times;</span>
              </button>
            </div>
            <img src="" alt="" class="img-fluid">
            <div class="modal-body p-3">
              <div class="content"></div>
            </div>
          </div>
        </div>
      </div>
    </div>

    <!-- Theme Code -->
      <script async defer src="/glsp/scripts/syna-main.min.68ae1ae47948304c9c224cfc1a97ffe16c57514bc587dd6140dcb82389a8d299.js"></script>
<script type="application/javascript">
var dnt = (navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack);
var doNotTrack = (dnt == "1" || dnt == "yes");
if (!doNotTrack) {
	window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
	if (window.sessionStorage) {
		var GA_SESSION_STORAGE_KEY = 'ga:clientId';
		ga('create', 'UA-155083212-2', {
	    'storage': 'none',
	    'clientId': sessionStorage.getItem(GA_SESSION_STORAGE_KEY)
	   });
	   ga(function(tracker) {
	    sessionStorage.setItem(GA_SESSION_STORAGE_KEY, tracker.get('clientId'));
	   });
   }
	ga('set', 'anonymizeIp', true);
	ga('send', 'pageview');
}
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>

  </body>
</html>
